我如何通过docker nginx转发请求到另一个应用程序容器来获取真实的客户端IP地址

时间:2019-07-23 06:42:58

标签: docker nginx flask proxy wsgi

在flask应用中,使用request.remote_addr始终获得172.21.0.7(localhost),nginx实际上获得了IP地址,我还设置了proxy_set_header HTTP-X_REAL_IP $remote_addr;

看起来它从本地主机启动一个新请求,并且request.environ中不包含“ HTTP-X_REAL_IP”,

nginx-container_1  | 113.118.227.195 - - [23/Jul/2019:06:24:07 +0000] "GET /settings HTTP/1.1" 200 5902 "http://hit-the-road.cc/login" "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/75.0.3770.100 Safari/537.36" "-"
website_1          | 172.21.0.7 - - [23/Jul/2019:06:24:07 +0000] "GET /settings HTTP/1.0" 200 5902 "http://hit-the-road.cc/login" "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/75.0.3770.100 Safari/537.36" in 25178µs

我该怎么做才能获得客户端IP地址?

0 个答案:

没有答案