微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

NGINX作为Node.js的代理

我在Nginx服务器后面使用NODE.js,这是我的Nginx配置:

upstream example.it {
        server 127.0.0.1:8000;
}

server {
        server_name www.example.it;

        location / {
                proxy_pass      http://example.it;
                proxy_redirect  off;
                proxy_set_header   Host             $host;
                proxy_set_header   X-Real-IP        $remote_addr;
                proxy_set_header   X-Forwarded-For  $proxy_add_x_forwarded_for;
        }
}

一切正常,请求从Nginx正确发送到节点但是我发现从Express.js生成的日志文件中存在问题.

问题是所有请求都保存为127.0.0.1,为什么?

我没有看到任何删除主机(谁提出请求的真实IP).

谢谢

解决方法:

这是正确的,因为Nginx将是远程主机.您需要指定自定义日志格式以记录X-Forwarded-For标头,请参阅connect logger documentation.

app.use(express.logger(':req[X-Forwarded-For] - - [:date] ":method :url HTTP/:http-version" :status :res[content-length] ":referrer" ":user-agent"'));

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 [email protected] 举报,一经查实,本站将立刻删除。

相关推荐