rewriterule how examples example mod-rewrite apache2 ssl-certificate virtualhost mod-proxy

mod-rewrite - how - apache rewriterule examples



Proxying con SSL (2)

Tengo un host Linux que ejecuta Apache y un host de Windows que ejecuta IIS. Tengo un dominio que apunta al host Linux y necesita retransmitir (proxy) solicitudes a IIS; Por lo tanto, tengo la siguiente definición de host virtual en Apache (que funciona bien):

<VirtualHost 192.168.0.2:80> ServerName www.acme.com DocumentRoot /var/www/acme.com RewriteEngine On RewriteOptions Inherit RewriteRule ^/(.*) http://win.acme.com/$1 [P] </VirtualHost>

ahora quiero agregar soporte SSL; la definición se convierte en:

<VirtualHost 192.168.0.2:443> ServerName www.acme.com DocumentRoot /var/www/acme.com GnuTLSEnable On GnuTLSPriorities NORMAL:%COMPAT GnuTLSCertificateFile /var/www/ssl/www.acme.com.crt GnuTLSKeyFile /var/www/ssl/www.acme.com.key RewriteEngine On RewriteOptions Inherit RewriteRule ^/(.*) https://win.acme.com/$1 [P] </VirtualHost>

Tengo certificados válidos y confiables en ambos servidores web y si visito https://win.acme.com todo está bien, sin embargo, cuando visito https://www.acme.com recibo un mensaje de Error interno del servidor 500. Un vistazo a los registros de error muestra:

[Mié 20 de julio, 08:35:34, 2011] [error] [cliente 76.168.166.70] Proxy SSL solicitado para www.wileybits.com:80, pero no habilitado [Sugerencia: SSLProxyEngine] [Mié 20 de julio, 08:35:34 2011] proxy [error]: HTTPS: no se pudo habilitar el soporte de ssl para 74.166.186.70:443 (win.acme.com)

note que la solicitud de proxy parece ser para el dominio incorrecto (wileybits) ... el dominio que muestra también está alojado en mi servidor Apache, pero no entiendo por qué aparece en los registros de acme.com (un reverso) Búsqueda de DNS tal vez?)

en cualquier caso, ¿qué me estoy perdiendo?

gracias de antemano - ekkis

ps nombres de host y direcciones han sido alterados para proteger a los inocentes :)

* actualización *

con:

RewriteRule ^/(.*) https://win.acme.com/$1 [R,L]

parece funcionar bien, pero, por supuesto, el nombre de host de Windows se vuelve visible, lo cual no es aceptable en mi escenario

También probé (en lugar de mod_rewrite):

ProxyRequests Off ProxyPass / https://win.acme.com/

pero el mismo error


No estoy seguro de la causa de este error, pero es posible que desee probar con Squid o Barniz para lograr esto. Anteriormente, utilicé Squid para proxy una instancia segura de Windows IIS sin problemas.


lo descubrí ... aparentemente puedo hacer esto:

SSLProxyEngine On RequestHeader set Front-End-Https "On" ProxyPass / https://win.acme.com/ ProxyPassReverse / https://win.acme.com/ CacheDisable *

¡Y funciona bien!

[la solución vino de la publicación de mikeg en 3cx.org]