53 votos

Apache ProxyPass con SSL

Quiero a las solicitudes de proxy de un sitio SSL a través de un no-sitio SSL. Mi httpd de Apache.conf se parece a esto:

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

Por eso, cuando me visita http://foo.comespero que en apache para hacer una petición a https://bar.com y que me envíe la página trajo.

En lugar de eso, me sale un error 500, y en el registro de errores, veo:

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

Presumiblemente, me falta una directiva de aquí. Que podría ser?

Nunca la mente las implicaciones de seguridad. Estoy totalmente de entender los riesgos.

61voto

gfrizzle Puntos4518

Usted necesitará mod_ssl, mod_proxy y, opcionalmente, mod_rewrite. Dependiendo de la distribución y versión de Apache puede que tenga que comprobar si mod_proxy_connect y mod_proxy_http se cargan así.

Las directivas para la habilitación de SSL proxy apoyo en 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>

Si mal no recuerdo también se puede utilizar:

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

2voto

En Apache 1.x, mod_ssl iba a arreglar ProxyPass. ¿Tienes mod_ssl instalado?

EnMiMaquinaFunciona.com

EnMiMaquinaFunciona es una comunidad de administradores de sistemas en la que puedes resolver tus problemas y dudas.
Puedes consultar las preguntas de otros sysadmin, hacer tus propias preguntas o resolver las de los demás.

Powered by: