Назад | Перейти на главную страницу

Apache ProxyPass с SSL

Я хочу отправлять запросы с 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 установлены?