
サーバー設定に奇妙な動作が発生しました。複数の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を介して2番目の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 ()
メッセージが表示されることです。
したがって、問題の場所が2番目のApacheとアプリケーションサーバーの間にあるとします。これで奇妙な部分が現れます。最初のApacheを介してプロキシされたドメイン名を使用するのではなく、IPアドレスとして直接2番目のApacheのアドレスを指定すると、上記のエラーは表示されず、私のサービスは有効な応答を返します。
Direct request to second apache via http
--> forward to application server via https
私の最初の推測は、私の最初のApacheがSSLProxyEngine()として機能するはずです。SSLProxyEngine On
2番目のApacheがすでに行っているのと同じです。リクエスト全体のどこかにhttps通信がある場合にこれが必要になる場合があります。しかし、それは何も変えません。
構成は非常に簡単です。
最初のApache
# 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
##################################################################
2番目のApache
# 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
##################################################################
すでにこの問題や同様の問題を経験している人はいますか?