
Actualmente tengo un pfSense
firewall que redirige los puertos 80 y 443 a un Apache interno que actúa como proxy inverso para varios subdominios de nuestra empresa.
Dado que pfSense
proporciona un proxy inverso a través de Squid3, me gustaría deshacerme del servidor Apache y enrutar todo en pfSense
su lugar.
Mi configuración actual de Apache es algo como esto:
<VirtualHost *:80 *:443>
RewriteEngine on
RewriteCond %{HTTPS} off
RewriteRule (.*) https://%{HTTP_HOST}%{REQUEST_URI}
ServerName trac.mycompany.com
SSLProxyEngine on
SetEnv force-proxy-request-1.0 1
SetEnv proxy-nokeepalive 1
ProxyPreserveHost On
ProxyPass / https://trac.mycompany.com/
ProxyPassReverse / https://trac.mycompany.com/
ProxyVia on
</VirtualHost>
<VirtualHost *:80 *:443>
ServerName svn.mycompany.com
ProxyPass / http://svn.mycompany.com/
ProxyPassReverse / http://svn.mycompany.com/
ProxyVia On
</VirtualHost>
Como puede ver, ambos son bastante sencillos. Sé que usar hosts virtuales con HTTPS y una única dirección IP externa me limita a usar certificados autofirmados, y soy consciente de los riesgos, pero en este momento no me importa (solo quiero que se envíen los nombres de usuario y la contraseña). cifrado).
En pfSense
, lo configuré de la siguiente manera:
El proxy inverso está activado. Ambos trac
y svn
se ejecutan en el mismo servidor local (192.168.0.26). El problema es que cuando el proxy llega al servidor interno, el servidor local Apache siempre intenta servir el trac
subdominio, en lugar de hacer coincidir por nombre.
¿Es esto algo que puedo lograr con el módulo de proxy inverso de pfSense
? ¿Me estoy perdiendo algo obvio aquí?
Respuesta1
Sé que esta es una respuesta tardía, pero más vale tarde que nunca :) probablemente ya lo hayas resuelto, pero si no lo hiciste... crea una dirección IP secundaria en el servidor local que se ejecuta desde la misma NIC y ejecuta cada sitio web en una IP separada. .
No pensé que alguna vez podrías servir 2 sitios https con la misma dirección IP y puertos, ya que los encabezados se pierden con el cifrado y siempre terminas en el sitio principal predeterminado. 2 sitios http están bien, pero 2 sitios https necesitan diferentes puertos o diferentes IP.