Nginx 代理允许特定 IP 访问服务器不起作用

Nginx 代理允许特定 IP 访问服务器不起作用

我有一个用于多个域的 nginx 反向代理,我想限制对其中一个域的访问,除非连接到 VPN。因此,我为这台特定的服务器添加了允许 VPN IP 地址的功能,并且无论我是否连接到 VPN,它都会拒绝访问。

如果有帮助的话,它是一台带有 fasthosts 的裸机服务器,并使用我的帐户提供的 vpn,以下是配置(它在 docker 容器内运行,该容器将流量通过专用网络转发到运行 docker swarm 的其他服务器)。我已经用 X 替换了 vpn ip 地址:

server {
        listen 80;
        listen 443 ssl;
        allow xx.x.xxx.xxx;
        allow xx.x.xxx.xxx;
        deny all;
        ssl_certificate /usr/local/etc/ssl/certs/live/example.com/fullchain.pem;
        ssl_certificate_key /usr/local/etc/ssl/certs/live/example.com/privkey.pem;
        ssl_session_timeout 10m;
        ssl_verify_client off;
        server_name admin.example.com;
        error_log /usr/share/nginx/logs/error-admin.log;
        access_log /usr/share/nginx/logs/access-admin.log;
        client_max_body_size 1024M;
        gzip_http_version 1.0;
        gzip on;
        gzip_proxied any;
        gzip_types
            image/jpeg
            image/jpg
            image/png
            image/gif
            image/bmp
            video/mp4
            application/octet-stream;
        location / {

            proxy_read_timeout 1800;
            proxy_connect_timeout 60;
            proxy_send_timeout 60;
            proxy_next_upstream error timeout http_502;
            proxy_next_upstream_tries 10;
            proxy_pass http://admin;
            proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
            proxy_set_header X-Real-IP $remote_addr;
            proxy_ssl_session_reuse on;
            proxy_http_version 1.1;
            proxy_set_header X-XSS-Protection 1;
            proxy_set_header X-Content-Type-Options nosniff;
            proxy_set_header Referrer-Policy origin;
            proxy_set_header X-Frame-Options DENY;
            proxy_set_header Host admin.gofollow.vip;
            proxy_request_buffering off;

        }


    }

更新

看来 docker 中的 nginx 没有看到正确的客户端 ip 地址

相关内容