我有一个 Exchange 2016 作为后端,需要客户端证书才能访问 OWA 和 HAProxy 作为反向代理。当我尝试直接从 Exchange 打开 OWA 时,一切都很好:我收到证书提示,可以选择我想要的证书。但是当我通过 HAProxy 执行相同操作时,我只会收到 HAProxy 的证书提示,然后浏览器将我重定向到 Exchange 身份验证页面。我的配置部分如下。
frontend fe_exch_443
bind x.x.x.x:443 ssl crt /etc/ssl/certs/cert.pem ca-file /etc/ssl/certs/cert.crt verify optional crt-ignore-err all
acl ssl_connection ssl_fc
acl path_owa path_beg -i /owa/
http-request deny if path_check
http-request redirect scheme https code 301 if !{ ssl_fc }
use_backend bk_exchange_https_owa if path_owa
default_backend be_exch_443
backend bk_exchange_https_owa
option httpchk GET /owa/HealthCheck.htm
http-check expect string 200\ OK
server exch x.x.x.x:443 check ssl verify none maxconn 1000 weight 10 check
你能帮帮我吗?谢谢。
答案1
如果绕过 HAProxy,似乎没问题。那么我认为可能是 HAProxy 上的一些配置错误。
我注意到您使用了“verifyoptional”,您想使用客户端证书强制吗?根据此博客检查您的配置: https://www.haproxy.com/blog/ssl-client-certificate-management-at-application-level/