我在 Google Cloud (1.1.1.1) 中运行 Nginx 1.12.2 网络服务器,并带有从客户端 (3.3.3.3) 访问的 GCP (2.2.2.2) 负载均衡器。我试图只允许来自负载均衡器的 IP 或客户端 IP 的流量,但是当我尝试时它会阻止所有流量。
这是我的 nginx.conf:
在 http:
include blockips.conf;
在服务器中:
server {
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
proxy_set_header X-Real-IP $remote_addr;
set_real_ip_from 2.2.2.2
real_ip_header X-Forwarded-For;
real_ip_recursive on;
在blockips.conf
我有:
allow 3.3.3.3
allow 2.2.2.2
deny all
但是,当我向 Web 服务器发出请求时,它不会使用负载均衡器或客户端的 IP,而是使用不同的 IP。
2018/12/27 20:14:42 [error] 3121#0: *45 access forbidden by rule, client: 6.6.6.6
在 X-Forwarded-For 中出现我需要的两个 IP:
2018/12/27 20:14:42 [debug] 3121#0: *45 http header: "X-Forwarded-For: 3.3.3.3, 2.2.2.2"
我究竟做错了什么?
提前致谢。