【问题标题】:How to get Nginx HTTP Basic auth to recognise a permitted client's IP on the far side of a load balancer?如何让 Nginx HTTP Basic auth 识别负载均衡器远端允许的客户端 IP?
【发布时间】:2021-11-17 09:00:30
【问题描述】:

我已将 Nginx 配置为需要对我正在开发的尚未公开的网站进行 HTTP 基本身份验证。我添加了一个allow 子句,以允许公司总部的IP 地址在不输入密码的情况下查看该站点。这最初是可行的,但是在将 Nginx 服务器放在负载均衡器 (AWS ELB) 后面之后,Nginx 看到的 IP 地址实际上是负载均衡器的 IP 地址,而不是请求 Web 客户端的 IP 地址 - 所以它停止工作。

X-Forwarded-For 标头中有客户端的真实 IP 地址。有没有办法让 Nginx 识别客户端并让它在不登录的情况下进入?

【问题讨论】:

    标签: amazon-web-services nginx aws-elb


    【解决方案1】:

    您应该为此使用 NGINX 真实 IP 模块。

    我这里已经描述了这个模块的使用Stackoverflow #66692200

    基本上你需要做的

    real_ip_header X-Forwarded-For;
    real_ip_recursive off;
    

    您应该检查是否能够将 ELB-IP 设置为唯一允许发送 X-Forwarded-For 标头的 IP。了解更多信息here

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2022-01-18
      • 1970-01-01
      • 2022-01-17
      • 2011-12-30
      相关资源
      最近更新 更多