Для справочной информации: (вопрос внизу)
Я пытаюсь подключиться к клиенту, у которого есть 8 серверов, все из которых имеют уникальные IP-адреса. Клиент использует тот же SSL-сертификат на всех серверах (для этого примера - имя сертификата == www.all_servers.com). Клиент разрешает только входящие запросы по https.
Я пытаюсь создать прокси-сервер apache с помощью mod_proxy, который отображает различные сопоставления URI на разные серверы. Например:
https://PROXY_SERVER/SERVER1/{REQUEST}
Это отправит {ЗАПРОС} на server1
https://PROXY_SERVER/SERVER2/{REQUEST}
отправит {ЗАПРОС} на сервер2. До сих пор довольно просто.
В 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 ()
Я не могу использовать /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 игнорировать сертификаты совпадения ошибок. Или, есть лучший способ сделать это.
Спасибо за любую помощь в этом!