我有一个带基本身份验证的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进行身份验证?
答案 0 :(得分:0)
我想通了,两步回答。
步骤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=