SSL ile Apache ProxyPass


59

Bir SSL sitesinden SSL olmayan bir site aracılığıyla istekleri proxy'ye almak istiyorum. Benim Apache httpd.conf şöyle görünür:

<VirtualHost 1.2.3.4:80>
    ServerName foo.com
    ProxyPass / https://bar.com/
</VirtualHost>

Bu yüzden, http://foo.com adresini ziyaret ettiğimde apache'nin https://bar.com adresine bir istek yapmasını ve bana getirdiği sayfayı göndermesini bekliyorum.

Bunun yerine, 500 hatası alıyorum ve hata günlüğünde şunu görüyorum:

[error] proxy: HTTPS: failed to enable ssl support for 4.3.2.1:443 (bar.com)

Muhtemelen burada bir direktif eksik. Hangisi olabilir?

Güvenlik etkilerini boşver. Riskleri tamamen anlıyorum.


Apache'nin hangi sürümünü kullanıyorsunuz?
Sam Halicke

1
“Güvenlik etkilerini boşver. Riskleri tamamen anlıyorum.” - Bu "Hold My Beer" a eşdeğer olan devops; )
Eric Kigathi,

Yanıtlar:


70

Şunlar gerekir mod_ssl, mod_proxyve isteğe bağlı olarak mod_rewrite. Dağıtımınız ve Apache sürümüne bağlı olmadığını kontrol etmek gerekebilir mod_proxy_connectve mod_proxy_httpaynı zamanda yüklenir.

SSL proxy desteğini etkinleştirme yönergeleri mod_ssl'dedir:

<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 ayrıca kullanabilirsiniz:

    RewriteRule / https://secure.bar.com [P]    # don't forget to setup SSLProxy* as well

Sitemizi kullandığınızda şunları okuyup anladığınızı kabul etmiş olursunuz: Çerez Politikası ve Gizlilik Politikası.
Licensed under cc by-sa 3.0 with attribution required.