我正在尝试使用Apache创build以下设置:
UserBrowser ----Client Certificate---> LoadBalancer (Apache 2.4) then LoadBalancer (Apache 2.4) ----LB Client Certificate ----> Apache 2.2 Web Server
所以用户连接到负载均衡器,并提供一个客户端证书 – 这工作正常。
反向代理然后使负载均衡器连接到Web服务器,Web服务器从负载均衡器请求证书,我得到以下错误:
Proxy client certificate callback: (0.0.0.0:443) entered Proxy client certificate callback: (0.0.0.0:443) downstream server wanted client certificate but none are configured [remote 0.0.0.1:443] SSL Proxy connect failed [ssl:info] SSL Library Error: error:14094410:SSL routines:SSL3_READ_BYTES:sslv3 alert handshake failure (SSL alert number 40) [ssl:info] [remote 0.0.0.1:443] Connection closed to child 0 with abortive shutdown (server 0.0.0.0:443) [ssl:info] [remote 0.0.0.1:443] SSL handshake failed: sending 502
负载平衡器configuration:
SSLProxyEngine on ProxyRequests off ProxyPreserveHost on Proxytimeout 600 SSLProxyCheckPeerCN off SSLProxyCheckPeerName off SSLProxyMachineCertificateFile "/path/to/keyandcert.pem"
Web服务器configuration:
SSLVerifyClient require
如果从Web服务器中删除SSLVerifyClient,则此scheme有效,然后负载均衡。 我需要在用户LB和LB-WS之间进行客户端validation。
Keys + Certs已经使用1024位长模数生成
任何人都可以提供一个洞察什么可能会出错吗?
您的要求不清楚。 但是,我可以想象下列情况:
无论哪种方式,你所描述的计划都不符合以上任何一条。
PS使用nginx作为平衡器,apache早已不在了。