我似乎无法让 Nginx 基本身份验证在 Rackspace 云均衡器后面工作。
首先,我在我的 nginx.conf 中使用了这个代码(这里也使用了真实 IP 模块,这是我尝试过的最好的解决方案之一):
http {
set_real_ip_from 1.1.1.2;
#real_ip_header X-Forwarded-For;
satisfy any;
allow 1.1.1.2;
deny all;
auth_basic "Restricted";
auth_basic_user_file /etc/nginx/htpasswd;
这是我在 PHP 标头中看到的字段:
["HTTP_X_FORWARDED_FOR"]=> string(14) "1.1.1.2"
但出于某种原因,Nginx 默认无法运行该功能。
我尝试了很多方法但似乎无法让它发挥作用。
有任何想法吗?
答案1
正如我所问的,我实际上发现了它不起作用的原因:
set_real_ip_from
说的是您信任的要从中设置的 IP 列表,所以我需要将我的负载均衡器 IP 放入其中并注释掉下一行,现在一切正常。