V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
e8c47a0d
V2EX  ›  Node.js

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

  •  
  •   e8c47a0d · 2017-09-21 12:30:04 +08:00 · 3486 次点击
    这是一个创建于 2381 天前的主题,其中的信息可能已经有所发展或是发生改变。
    不知道用 root 运行 node 是否可行?因为不确定 Nginx 是否会修改 header (比如 gzip )。
    10 条回复    2017-09-21 20:26:01 +08:00
    youxiachai
        1
    youxiachai  
       2017-09-21 12:36:45 +08:00
    吓? 80 没占用的话...不是顺便跑的吗...
    跟 root 有啥关系...你的 nginx 也是 用 root 老跑的吗?
    extreme
        2
    extreme  
       2017-09-21 12:38:28 +08:00 via iPhone
    听过“能力”吗?
    Since Kernel 2.6.33.
    ixiaohei
        3
    ixiaohei  
       2017-09-21 12:41:08 +08:00
    @youxiachai 不是 root 权限几乎不能玩 1024 以下的端口....,运维常识
    extreme
        4
    extreme  
       2017-09-21 12:41:13 +08:00 via iPhone
    @youxiachai Port <= 1024,正常情况下只有特权进程才能 Listen,Nginx 先以 root bind 再 setuid,不是以 root 身份提供服务的!
    youxiachai
        5
    youxiachai  
       2017-09-21 12:43:29 +08:00   ❤️ 1
    @ixiaohei 不是可以用 CAP_NET_BIND_SERVICE 让普通用户也能跑低端口吗....
    youxiachai
        6
    youxiachai  
       2017-09-21 12:45:22 +08:00
    @extreme 你说的..这个我知道啊...你后来补充"能力"和 setuid 不就是非 root 用户使用低端口方法吗..
    ixiaohei
        7
    ixiaohei  
       2017-09-21 12:47:05 +08:00
    @youxiachai 高内核版本随便用,低内核就呵呵
    ysc3839
        8
    ysc3839  
       2017-09-21 12:47:46 +08:00 via Android
    你这个是针对 Linux 的问题吧,应该发到 Linux 区。
    siteshen
        9
    siteshen  
       2017-09-21 19:35:19 +08:00   ❤️ 1
    看起来只是开发过程中用用,建议直接用另外的端口 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
        10
    rrfeng  
       2017-09-21 20:26:01 +08:00
    别瞎起 header 名字 nginx 就不会改。

    居然质疑 nginx …… 你质疑 node 也好一点啊
    关于   ·   帮助文档   ·   博客   ·   API   ·   FAQ   ·   我们的愿景   ·   实用小工具   ·   5352 人在线   最高记录 6543   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 28ms · UTC 07:07 · PVG 15:07 · LAX 00:07 · JFK 03:07
    Developed with CodeLauncher
    ♥ Do have faith in what you're doing.