IT博客汇
  • 首页
  • 精华
  • 技术
  • 设计
  • 资讯
  • 扯淡
  • 权利声明
  • 登录 注册

    通过 Nginx 反向代理部署 Node.js 服务

    芒果发表于 2015-02-25 04:58:51
    love 0

    将 Nginx 虚拟主机的配置替换为以下内容,其中 3000 指的是 Node.js 服务的运行端口号。

    server {
            listen 80;
            server_name mangguo.org www.mangguo.org;
            index index.html index.htm;
            root  /home/wwwroot/mangguo.org;
    
            location / {
                proxy_set_header X-Real-IP $remote_addr;
                proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
                proxy_set_header Host $http_host;
                proxy_set_header X-NginX-Proxy true;
                proxy_pass http://127.0.0.1:3000;
                proxy_redirect off;
            }
    
            access_log /home/wwwlogs/mangguo.org.log  access;
    }
    

    这样设置后,访客流量首先访问 Nginx 进程,而不是直接访问 Node.js 进程,因此,如果需要获取真实的访客 IP,可以通过以下方法:

    function getClientIp (req) {
        req.headers['x-forwarded-for'] || req.connection.remoteAddress;
    }
    


沪ICP备19023445号-2号
友情链接