多个 Apache 服务器出现 SSL 握手错误

多个 Apache 服务器出现 SSL 握手错误

我的服务器设置遇到了奇怪的行为。我有多个 apache 和应用程序服务器相互连接,并遇到 SSL 握手问题。我的服务器设置是

Request from Internet to first apache via https
--> forward to second apache via http
    --> forward to application server via https

我知道 http/https 的混合并不完美,但我稍后会解决这个问题。问题是,我的请求通过第一个 apache,到达第二个 apache 并导致AH00898: Error during SSL Handshake with remote server returned by /api/servicename/v1错误AH01097: pass request body failed to 10.173.121.84:9443 (10.173.121.84) from 10.173.144.43 ()消息。

所以我假设问题位置位于我的第二个 apache 和我的应用程序服务器之间。现在到了奇怪的部分:当我直接通过 IP 地址而不是使用通过我的第一个 apache 代理的域名来寻址我的第二个 apache 时,上述错误不会出现,并且我的服务返回有效的响应。

Direct request to second apache via http
--> forward to application server via https

我的第一个猜测是我的第一个 apache 需要作为 SSLProxyEngine ( SSLProxyEngine On) 工作 - 与我的第二个 apache 已经做的一样。当整个请求期间某处存在 https 通信时,也许这是必要的。但这并没有改变任何事情。

配置非常简单。

第一个阿帕奇

# ServerName, ServerAdmin, Logging, etc
##################################################################

    ProxyRequests off
    ProxyPreserveHost On

    SSLProxyEngine  On

    ProxyPass /oauth balancer://test-esb-gateway-cluster/oauth
    ProxyPassReverse /oauth balancer://test-esb-gateway-cluster/oauth
    ProxyPass /api balancer://test-esb-gateway-cluster/api
    ProxyPassReverse /api balancer://test-esb-gateway-cluster/api
##################################################################

第二阿帕奇

# ServerName, ServerAdmin, Logging, etc
##################################################################

    ProxyRequests off
    ProxyPreserveHost On

    SSLProxyEngine  On

    ProxyPass /api balancer://esb-api-cluster/api
    ProxyPassReverse /api balancer://esb-api-cluster/api
    ProxyPass /oauth balancer://oauth-provider-cluster/oauth
    ProxyPassReverse /oauth balancer://oauth-provider-cluster/oauth

##################################################################

有人已经遇到过这个或类似的问题吗?

相关内容