背景情報: (下部の質問)
クライアントに接続しようとしています。このクライアントには 8 台のサーバーがあり、そのすべてに一意の IP アドレスがあります。クライアントは、すべてのサーバーで同じ SSL 証明書を使用します (この例では、証明書名 == www.all_servers.com)。クライアントは、https 経由の着信要求のみを許可します。
mod_proxy を使用して、異なる URI マッピングを異なるサーバーにマップする Apache プロキシを作成しようとしています。例えば:
https://PROXY_SERVER/SERVER1/{REQUEST}
これにより、{REQUEST} が server1 に送信されます
https://PROXY_SERVER/SERVER2/{REQUEST}
{REQUEST} を server2 に送信します。これまでのところ、かなり単純です。
Apache 2.2 では、次のように IP アドレスを使用してこれを実現できました。
SSLProxyEngine On
ProxyPass /server1 https://1.1.1.1/
ProxyPassReverse /server1 https://1.1.1.1/
ProxyPass /server2 https://1.1.1.2/
ProxyPassReverse /server2 https://1.1.1.2/
これは、証明書が一致するかどうかを Apache 2.2 がチェックしていないことが原因でした (1.1.1.1 != www.all_servers.com)。
ただし、Apache 2.4 では、証明書の問題が発生しています (当然のことです)。(この正確なコードは apache 2.2 ボックスで動作します)
[Thu Oct 10 12:01:48.571246 2013] [proxy:error] [pid 13282:tid 140475667224320] (502)Unknown error 502: [client 192.168.1.1:48967] AH01084: pass request body failed to 1.1.1.1:443 (1.1.1.1)
[Thu Oct 10 12:01:48.571341 2013] [proxy:error] [pid 13282:tid 140475667224320] [client 192.168.1.1:48967] AH00898: Error during SSL Handshake with remote server returned by /server1/asd
[Thu Oct 10 12:01:48.571354 2013] [proxy_http:error] [pid 13282:tid 140475667224320] [client 192.168.1.1:48967] AH01097: pass request body failed to 1.1.1.1:443 (1.1.1.1) from 192.168.1.1 ()
次を使用して1つのサーバーが機能するため、/ etc/hostsを使用できません。
1.1.1.1 www.all_servers.com
SSLProxyEngine On
ProxyPass /server1 https://www.all_servers.com/
ProxyPassReverse /server1 https://www.all_servers.com/
しかし、多くのサーバーはそうではありません
だから、実際の質問に:
mod_proxy に不一致の証明書を強制的に無視させる方法はありますか? または、これを行うためのより良い方法はありますか。
これについて助けてくれてありがとう!