如何在HTTPS Nginx中访问用户IP

问题描述

当前,通过HTTP访问我的网站时,客户端IP位于X-Forwarded-For标头中 格式为“ 192.132.41.2,192.168.0.4”

但是,当通过HTTPS访问站点时,只有服务器IP通过。 我如何通过HTTPS保留用户IP?

server {
        #listen 443 ssl http2;
        listen 443;
        ssl on;
        ssl_certificate /etc/letsencrypt/live/example.com/fullchain.pem;
        ssl_certificate_key /etc/letsencrypt/live/example.com/privkey.pem;
        include snippets/acme;
        server_name example.com;
        location / {
                include  /etc/Nginx/mime.types;
                proxy_set_header  X-Real-IP         $remote_addr;
                #proxy_set_header  X-Forwarded-For   $proxy_add_x_forwarded_for;
                proxy_set_header Host $http_host;
                proxy_pass http://localhost:3000;
        }
}

server {
        listen 80;
        include snippets/acme;
       # prevent direct IP access
       if ($host != "example.com") {
               return 404;
       }
        server_name example.com;

        location / {
                include  /etc/Nginx/mime.types;
                proxy_set_header  X-Real-IP         $remote_addr;
                #proxy_set_header  X-Forwarded-For   $proxy_add_x_forwarded_for;
                proxy_set_header Host $http_host;
                proxy_pass http://localhost:3000;
        }
}

解决方法

暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!

如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。

小编邮箱:dio#foxmail.com (将#修改为@)