我正在使用一个配置为负载均衡器的Apache(2.4)服务器,位于两个Apache服务器的前面。当我在负载均衡器和后端之间使用HTTP连接时,它工作正常,但是使用HTTPS时却无法正常工作。
负载均衡器的配置如下:
目前后端只有自签名证书,这就是为什么证书验证被禁用的原因。
负载均衡器上的错误日志包含以下内容:
浏览器中的错误页面包含:
如我在上面已经提到的,将配置更改为http协议和端口80是有效的。此外,客户端和负载均衡器之间的https连接也可以正常工作,因此负载均衡器的ssl模块似乎已经正确设置。
直接通过https连接到后端也没有出现任何错误。
非常感谢您的时间。
编辑: 我找到了解决方法,问题是我的证书的通用名称与服务器名称不匹配。我以为SSLProxyVerify none会忽略这个不匹配,但实际上并不会。在apache 2.4.5之前,可以使用SSLProxyCheckPeerCN off来禁用此检查,但在较高版本(我使用的是2.4.7)中,还需要指定SSLProxyCheckPeerName off。 Apache文档中关于sslproxycheckpeername的链接 有效的配置如下所示:
很不幸,由于声望不足,我无法回答自己的问题,所以我编辑了我的问题。 希望这能帮助到遇到类似问题的任何人。
SSLProxyEngine on
SSLProxyVerify none
SSLProxyCheckPeerCN off
<Proxy balancer://testcluster>
BalancerMember https://[Backend1]:443/test
BalancerMember https://[Backend2]:443/test
</Proxy>
ProxyPass /test balancer://testcluster
目前后端只有自签名证书,这就是为什么证书验证被禁用的原因。
负载均衡器上的错误日志包含以下内容:
[proxy:error] [pid 31202:tid 140325875570432] (502)Unknown error 502: [client ...] AH01084: pass request body failed to [Backend1]:443 ([Backend1])
[proxy:error] [pid 31202:tid 140325875570432] [client ...] AH00898: Error during SSL Handshake with remote server returned by /test/test.jsp
[proxy_http:error] [pid 31202:tid 140325875570432] [client ...] AH01097: pass request body failed to [Backend1]:443 ([Backend1]) from [...] ()
浏览器中的错误页面包含:
Proxy Error
The proxy server could not handle the request GET /test/test.jsp.
Reason: Error during SSL Handshake with remote server
如我在上面已经提到的,将配置更改为http协议和端口80是有效的。此外,客户端和负载均衡器之间的https连接也可以正常工作,因此负载均衡器的ssl模块似乎已经正确设置。
直接通过https连接到后端也没有出现任何错误。
非常感谢您的时间。
编辑: 我找到了解决方法,问题是我的证书的通用名称与服务器名称不匹配。我以为SSLProxyVerify none会忽略这个不匹配,但实际上并不会。在apache 2.4.5之前,可以使用SSLProxyCheckPeerCN off来禁用此检查,但在较高版本(我使用的是2.4.7)中,还需要指定SSLProxyCheckPeerName off。 Apache文档中关于sslproxycheckpeername的链接 有效的配置如下所示:
SSLProxyEngine on
SSLProxyVerify none
SSLProxyCheckPeerCN off
SSLProxyCheckPeerName off
<Proxy balancer://testcluster>
BalancerMember https://[backend1]:443/test
BalancerMember https://[backend1]:443/test
</Proxy>
ProxyPass /test balancer://testcluster
很不幸,由于声望不足,我无法回答自己的问题,所以我编辑了我的问题。 希望这能帮助到遇到类似问题的任何人。