在haproxy中设置basic-auth后无法访问网站

时间:2018-04-17 11:41:55

标签: proxy kibana reverse-proxy haproxy

我正在尝试设置在https上运行的kibana服务的基本身份验证。根据我从文档和在线其他资源的理解,我需要创建一个具有凭据的用户列表。我已经这样做了。在前端部分,我创建2个ACL,其中一个检查使用http_auth验证凭据(或者我被引导相信)。然后我说要使用正确的服务器,如果满足两个ACL要求(IE正确的地址和正确的凭据)。

运行curl -u admin:terriblePassw0rd https://example.com我得到了404.我非常感谢有关修复内容或在哪里进一步查看的任何指示或指导。

感谢您的时间。

userlist userAuth
    user admin insecure-password terriblePassw0rd

frontend default-frontend-hpp
    bind :80
    http-request redirect location https://example.com code 302 if { hdr_dom(host) -i example.com }

frontend default-frontend-https
    bind :443 ssl crt /path/to/cert/example.pem
    reqadd X-Forwarded-Proto:\ https

    acl auth_check http_auth(userAuth)
    acl example hdr(host) -i example.com
    use_backend example-backend if example auth_check

backend example-backend
    server name IP:port check

1 个答案:

答案 0 :(得分:1)

由于它是404而不是503,因此基本身份验证应该有效。

但你可能想要改变

acl auth_check http_auth(userAuth)
acl example hdr(host) -i example.com
use_backend example-backend if example auth_check

acl auth_check http_auth(userAuth)
http-request deny unless auth_check
acl example hdr(host) -i example.com
use_backend example-backend if example

这样,如果你没有提供正确的用户/通行证,如果auth失败,你得到的403优于503