linux - vhost - Excluir un alias de proxypass virtualhost
proxy apache https (2)
He seguido la configuración de host virtual. El resultado deseado es:
- Si alguien solicita http://test.myserver.com/myapp , apache lo atiende desde / var / www / myapp
- Y si se solicita http://test.myserver.com/ , apache lo redirige al puerto 8069.
2º está funcionando pero 1º no está funcionando. ¡Puede alguien ayudar, por favor!
<VirtualHost *:80>
ServerName test.myserver.com
Alias /myapp /var/www/myapp
<Directory /var/www/myapp>
Options Indexes FollowSymLinks MultiViews
AllowOverride None
Order allow,deny
Allow from all
</Directory>
ProxyPass / http://localhost:8069/
ProxyPassReverse / http://localhost:8069/
</VirtualHost>
Así fue como pude lograr el resultado deseado. A continuación se muestra la configuración de trabajo donde ProxyPassMatch ^/myapp !
hizo el truco y, excepto la (dirección del servidor) / myapp, todas las solicitudes se están procesando en el otro servidor que está abierto-erp en el puerto 8069:
<VirtualHost *:80>
ServerName test.myserver.com
Alias /myapp /var/www/myapp
<Directory /var/www/myapp>
Options Indexes FollowSymLinks MultiViews
AllowOverride None
Order allow,deny
Allow from all
</Directory>
ProxyPassMatch ^/myapp !
ProxyPass / http://localhost:8069/
ProxyPassReverse / http://localhost:8069/
CustomLog /var/log/apache2/access.log common
ErrorLog /var/log/apache2/error.log
</VirtualHost>
En lugar de usar: ProxyPassMatch ^/myapp !
podría haber simplemente agregado otra directiva ProxyPass antes de la que define /, como esta:
ProxyPass /myapp !
ProxyPass / http://localhost:8069/
Dado que ProxyPass respeta la prioridad (se procesará la primera coincidencia), se redireccionará correctamente al directorio en lugar de enviar proxy.