1

我有一个简单的快递应用程序。这是Dockerized。这是存储库

nginx在那里用作反向代理。当我访问时http://45.33.97.232:3000,它给了我实际的IP。但是,当我访问时http://45.33.97.232/,它给了我相同的服务器IP。但我需要实际Client IP在这里。我在配置文件中使用服务器 IP 。nginx但我有一个限制,我不能在配置文件中写入服务器 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.
  }
}
4

1 回答 1

0

在 nginx 中,如果您想将远程用户的 IP 地址传递到后端 Web 服务器,则必须将 X-Forwarded-For 标头设置为此远程 ip,如下所示:

proxy_set_header X-Forwarded-For $remote_addr;

如果您不想使用服务器 IP,您可以使用 Nginx 配置文件中的域。

于 2020-05-08T04:43:07.717 回答