【问题标题】:HaProxy Load Balancer and Nginx Basic AuthHaProxy 负载均衡器和 Nginx 基本身份验证
【发布时间】:2023-04-04 06:02:01
【问题描述】:

我有一个具有基本身份验证的 nginx 服务器

 location / {
      root   /var/www/mywebsite.com;
      index  index.html index.htm;
      auth_basic "Restricted";                                #For Basic Auth
      auth_basic_user_file /etc/nginx/.htpasswd;  #For Basic Auth
  }

服务器位于 HAProxy 负载平衡器后面。有没有办法让负载均衡器将用户名和密码发送到 nginx 进行身份验证?

【问题讨论】:

  • 认证是Nginx而不是HA,应该怎么配置?还是做不到?

标签: nginx haproxy


【解决方案1】:

我想通了,两步回答。

步骤 1 Base64 对用户名和密码进行编码。假设用户是 johndoe,密码是 abc123。

$bash: echo -n johndoe:abc123 | openssl enc -a
Output: am9obmRvZTphYmMxMjM=

第 2 步是将其添加到 HAProxy 配置的后端

backend application-backend
    balance     roundrobin
    log             global
    option http-server-close  
    option forwardfor
    reqadd Authorization:\ Basic\ am9obmRvZTphYmMxMjM=

【讨论】:

  • 我想通过添加一个警告,这样做会大大增加标头的大小,这将导致像Nginx这样的Web服务器中的400个响应
  • 如果认证是针对Nginx而不是HA,应该如何配置?还是做不到?
猜你喜欢
  • 2018-07-06
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2019-08-05
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多