nginx:如何获取实际的客户端IP?

wfsdck30  于 2023-10-17  发布在  Nginx
关注(0)|答案(1)|浏览(148)

我有一个简单的快速应用程序。也就是Dockerized这是Repository
我使用nginx作为反向代理。当我访问http://45.33.97.232:3000时,它会给我实际的 IP。但是,当我访问http://45.33.97.232/,它给了我相同的服务器 IP.但我需要真正的Client IP。我在nginx配置文件中使用 * 服务器IP*。但我有一个限制,我不能写 * 服务器IP* 在nginx配置文件。
这是我的nginx配置文件,

server {
    listen 80 default_server;
    server_name 45.33.97.232;
location / {
    proxy_set_header Host $host;
    proxy_set_header X-Real-IP $remote_addr;
    proxy_pass http://45.33.97.232:3000; #port where you are serving your express app.
  }
}
t9aqgxwy

t9aqgxwy1#

在nginx中,如果你想通过远程用户的IP地址传递到你的后端Web服务器,你必须将X-Forwarded-For头设置为这个远程IP,像这样:
proxy_set_header X-Forwarded-For $remote_addr;
如果你不想使用服务器IP,你可以使用Nginx配置文件中的域。

相关问题