我正在将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。
答案 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 {
...
}
}