我有一个简单的快速应用程序。也就是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.
}
}
1条答案
按热度按时间t9aqgxwy1#
在nginx中,如果你想通过远程用户的IP地址传递到你的后端Web服务器,你必须将X-Forwarded-For头设置为这个远程IP,像这样:
proxy_set_header X-Forwarded-For $remote_addr;
如果你不想使用服务器IP,你可以使用Nginx配置文件中的域。