![使用 nginx 代理获取真实 IP](https://linux22.com/image/706918/%E4%BD%BF%E7%94%A8%20nginx%20%E4%BB%A3%E7%90%86%E8%8E%B7%E5%8F%96%E7%9C%9F%E5%AE%9E%20IP.png)
我在网站上设置了一个子域,该子域使用 nginx 托管 Flask 应用程序,服务器配置如下。它托管在 DigitalOcean 上的一个 droplet 上。
server {
listen 80;
server_name subdomain.mysite.com;
location / {
proxy_pass http://0.0.0.0:8080;
proxy_redirect http://0.0.0.0:8080 http://subdomain.mysite.com;
}
}
我正在尝试在我的应用程序中获取访问者的 IP,但无论访问者是谁,IP 地址似乎都相同。我不是这方面的专家,所以如果有人能解释发生了什么,以及我如何获取访问者的真实 IP 地址,那就太好了。
答案1
假设你的网络其他地方的 IP 没有被更改/转换,将以下内容添加到你的 nginx 配置中(与其他代理选项一起)应该可以工作
proxy_set_header X-Real-IP $remote_addr;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;