Я хочу отправлять запросы с SSL-сайта через прокси-сервер. Мой Apache httpd.conf выглядит так:
<VirtualHost 1.2.3.4:80>
ServerName foo.com
ProxyPass / https://bar.com/
</VirtualHost>
Итак, когда я приезжаю http://foo.com, Я ожидаю, что apache сделает запрос к https://bar.com и отправьте мне полученную страницу.
Вместо этого я получаю ошибку 500, а в журнале ошибок вижу:
[error] proxy: HTTPS: failed to enable ssl support for 4.3.2.1:443 (bar.com)
По-видимому, мне здесь не хватает директивы. Что бы это могло быть?
Не обращайте внимания на последствия для безопасности. Я полностью понимаю риски.
Тебе понадобиться mod_ssl
, mod_proxy
и необязательно mod_rewrite
. В зависимости от вашего дистрибутива и версии Apache вам может потребоваться проверить, mod_proxy_connect
и mod_proxy_http
тоже загружаются.
Директивы для включения поддержки прокси SSL находятся в mod_ssl:
<VirtualHost 1.2.3.4:80>
ServerName foo.com
SSLProxyEngine On
SSLProxyCheckPeerCN on
SSLProxyCheckPeerExpire on
ProxyPass / https://secure.bar.com
ProxyPassReverse / https://secure.bar.com
</VirtualHost>
IIRC вы также можете использовать:
RewriteRule / https://secure.bar.com [P] # don't forget to setup SSLProxy* as well
В Apache 1.x mod_ssl
исправит ProxyPass. У вас есть mod_ssl
установлены?