当我们使用下面的nginx配置部署tornado应用后upstreamfrontends{server127.0.0.1:8000;server127.0.0.1:8001;server127.0.0.1:8002;server127.0.0.1:8003;}在tornado.log中请求ip全部都会显示成127.0.0.1,类似下面这样[I13012521:44:54web:1447]200GET/(127.0.0.1)16.00ms如何在nginx反向代理的情况下让tornado.log中的ip地址也能显示成真实的ip呢?正确答案:除了nginx配置正确,更重要的是需要在tornadohttpserver中设置xheaders=Truetornado.httpserver.HTTPServer(Application(),xheaders=True)
2 回答
缥缈止盈
TA贡献2041条经验 获得超4个赞
如果是反向代理的话可以在nginx中加入这么一个配置:proxy_passhttp://frontends;proxy_set_headerX-Real-IP$remote_addr;proxy_set_headerX-Forwarded-For$proxy_add_x_forwarded_for;proxy_set_headerHost$http_host;
添加回答
举报
0/150
提交
取消