要让 node 监听 80 的话只能用 Nginx 转发吗?

2017-09-21 12:30:04 +08:00
 e8c47a0d
不知道用 root 运行 node 是否可行?因为不确定 Nginx 是否会修改 header (比如 gzip )。
3500 次点击
所在节点    Node.js
10 条回复
youxiachai
2017-09-21 12:36:45 +08:00
吓? 80 没占用的话...不是顺便跑的吗...
跟 root 有啥关系...你的 nginx 也是 用 root 老跑的吗?
extreme
2017-09-21 12:38:28 +08:00
听过“能力”吗?
Since Kernel 2.6.33.
ixiaohei
2017-09-21 12:41:08 +08:00
@youxiachai 不是 root 权限几乎不能玩 1024 以下的端口....,运维常识
extreme
2017-09-21 12:41:13 +08:00
@youxiachai Port <= 1024,正常情况下只有特权进程才能 Listen,Nginx 先以 root bind 再 setuid,不是以 root 身份提供服务的!
youxiachai
2017-09-21 12:43:29 +08:00
@ixiaohei 不是可以用 CAP_NET_BIND_SERVICE 让普通用户也能跑低端口吗....
youxiachai
2017-09-21 12:45:22 +08:00
@extreme 你说的..这个我知道啊...你后来补充"能力"和 setuid 不就是非 root 用户使用低端口方法吗..
ixiaohei
2017-09-21 12:47:05 +08:00
@youxiachai 高内核版本随便用,低内核就呵呵
ysc3839
2017-09-21 12:47:46 +08:00
你这个是针对 Linux 的问题吧,应该发到 Linux 区。
siteshen
2017-09-21 19:35:19 +08:00
看起来只是开发过程中用用,建议直接用另外的端口 3000、5000、8080 等。
如果需要查看 header 区别,一个在 nginx 后访问,一个直接访问,把两种情况的 HTTP header 打印出来对比就行了。

非要使用 80 端口的话,可以参考这个(来自 `brew info nginx-full`):
$ sudo chown root:wheel /usr/local/opt/nginx-full/bin/nginx
$ sudo chmod u+s /usr/local/opt/nginx-full/bin/nginx
rrfeng
2017-09-21 20:26:01 +08:00
别瞎起 header 名字 nginx 就不会改。

居然质疑 nginx …… 你质疑 node 也好一点啊

这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。

https://www.v2ex.com/t/392509

V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。

V2EX is a community of developers, designers and creative people.

© 2021 V2EX