我在 docker 容器中托管了一个带有 express.js 的 node.js 服务器。我的容器的地址是 172.17.0.62 而我使用 nginx 将流量重定向到 172.17.0.62
我可以访问我的服务器。但是当我使用
console.log(req.ip + ' ' + req.protocol + ' ' + req.originalUrl);
Run Code Online (Sandbox Code Playgroud)
记录流量。req.ip 始终为 172.17.42.1。我想获取我的网页查看者的 ip
我在我的 nginx 配置中使用它
proxy_set_header X-Real-IP $remote_addr;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
Run Code Online (Sandbox Code Playgroud)
和
cat /proc/sys/net/ipv4/ip_forward # output 1
Run Code Online (Sandbox Code Playgroud)