Nginx反向代理配置白名单IP

时间:2018-09-28 15:09:58

标签: nginx nginx-config

我正在将Nginx反向代理与Kubernetes服务一起使用。配置如下:

    events {
    }
    http {
          upstream my-service-3000 {
              server my-service:3000;
          }
        server {
              listen 443 ssl;
              server_name myserver.net;
              ssl_certificate     /key.pem;
              ssl_certificate_key /key.pem;
              location / {
                    allow myIP;
                    deny all;
                    proxy_pass http://my-service-3000;
              }
        }
        server {
              ...
        }
    }

它工作正常(执行反向代理,终止ssl,更改端口,查找Kubernetes服务),直到我尝试仅将我的IP列入白名单的那一刻为止。当我尝试通过https访问服务时-我从Nginx获得了403。我试图四处移动允许/拒绝命令,但这无济于事。有什么建议可能出问题吗?
另外,我自己也落后于代理-因此,我正在使用外部组织IP。

1 个答案:

答案 0 :(得分:0)

白名单应该在http伪指令下,而不是在location伪指令下。

http {
      allow MyIp;
      deny all;
      upstream my-service-3000 {
          server my-service:3000;
     }
     server {
          listen 443 ssl;
          server_name myserver.net;
          ssl_certificate     /key.pem;
          ssl_certificate_key /key.pem;
          location / {
                proxy_pass http://my-service-3000;
          }
     }
     server {
          ...
     }
}