如何使用 nginx 代理将真实访问者 IP 传递到代理网站?

如何使用 nginx 代理将真实访问者 IP 传递到代理网站?

我正在使用 nginx 代理功能为我国屏蔽的网站制作镜像版本。

问题是:

被屏蔽的网站有一个安全措施,即检查请求视频页面的 IP,并将其与请求托管在其 CDN 上的视频的 IP 进行比较。

但是 nginx 总是发送服务器 IP,而不是使用我的镜像站点的用户的 IP,发出视频页面请求和来自 CDN 的视频链接具有不同的 IP。

我的配置是:

server {
resolver 8.8.8.8 ipv6=off;
listen 0.0.0.0:80; 
server_name mydomain.com;

location / {
    proxy_set_header Accept-Encoding "";
    proxy_pass https://targetsite.com/;
    proxy_set_header  Host $host;
    proxy_set_header  X-Real-IP $remote_addr;
    proxy_set_header  X-Forwarded-Proto https;
    proxy_set_header  X-Forwarded-For $remote_addr;
    proxy_set_header  X-Forwarded-Host $remote_addr;
    proxy_ssl_verify off;
    proxy_ssl_server_name on;
 }
}

如何解决这个问题?

谢谢。

相关内容