
Acabo de realizar una nueva instalación de Ubuntu de apache2 y haproxy. Haproxy escucha en el puerto 80, apache en el 3080, este último oculto desde el exterior.
Mi problema es que cuando uso un nombre de carpeta sin una barra diagonal, por ejemplo, example.com/some/folder
Apache redirige automáticamente a la misma dirección con una barra diagonal, pero también al puerto incorrecto example.com:3080/some/folder/
.
Los documentos de Apache me sugieren que mi problema radica en la configuración de CanonicalName/Port, pero cualquier combinación de ellos no parece funcionar. ¿Qué podría estar malinterpretando?
Mi anfitrión virtual:
<VirtualHost *:3080>
ServerName http://example.com:80
UseCanonicalName On
UseCanonicalPhysicalPort On
DirectoryIndex index.php index.html
DocumentRoot /var/www/main
<Directory /var/www/main>
Options -Indexes
Options -FollowSymLinks
AllowOverride All
<Files ~'^\.'>
Order allow,deny
Deny from all
Satisfy all
</Files>
</Directory>
</VirtualHost>
Respuesta1
No utilice ninguno de los dos;
UseCanonicalName Off
UseCanonicalPhysicalPort Off
HAProxy no interfiere (normalmente) con el Host
encabezado enviado, por lo que esta configuración debe tener las redirecciones generadas creadas con el Location
encabezado correcto. Si esto no ayuda, ¿proporciona el Location
encabezado exacto que se envía en la respuesta?
Por cierto, ServerName
puede simplificarse y probablemente no debería tener un puerto en el que su vhost no esté escuchando:
ServerName example.com