nginx阻止某些Web IP的IP,但是nginx获取客户端IP而不是远程地址

时间:2020-03-20 13:47:07

标签: nginx

我在服务器(nginx)上保存了一些照片。 我只想允许通过两个IP地址(可以从中加载图像的2个Web服务器IP)访问文件夹。 因此,我尝试允许2个Web IP并拒绝所有,但在服务器上我得到的是客户端计算机IP的IP地址,而不是从中加载照片的IP。

在/ etc / nginx /中,我的文件proxy_params与

    proxy_set_header Host $http_host;
    proxy_set_header X-Real-IP $remote_addr;
    proxy_set_header X-Forwarded-For $remote_addr;
    proxy_set_header X-Forwarded-Proto $scheme;

其他一些conf是 / etc / nginx / sites-available / default中的文件默认设置

server {
    listen 80 default_server;
    listen [::]:80 default_server;
    server_name _;
    location ~ / {
            valid_referers none site1.com site2.net;
            if ($invalid_referer) {
                    return 410;
            }
            deny     1.2.3.4;
            allow  all;
    }

如您所见,我尝试过使用valid_referers,除非网站为https,否则服务器无法接收到引荐来源。 现在,我的问题是如何配置它,以便获得托管了Web的服务器(例如1.2.3.4)的IP(从中加载映像),而不是运行nginx的服务器上称为Web的计算机的IP(例如2.3.4.5)。

感谢帮助。

0 个答案:

没有答案