Apache ProxyPass o ProxyPassMatch para excluir un archivo del proxy


8

Tengo un VirtualHost configurado para proxy todas las solicitudes a otro servidor que se ejecuta en el puerto 9000.

Lo que tengo :

ProxyPass / http://localhost:9000/
ProxyPassReverse / http://localhost:9000/

Lo que probé:

! ProxyPass /test.html http://localhost:9000/
ProxyPass /test.html ! http://localhost:9000/
ProxyPassMatch !^/(.*\.html)$ http://localhost:9000/$1 

Ninguno de los cuales funcionó ...

Me gustaría excluir un proxy o un conjunto de archivos de la representación, la documentación dice algo sobre "La directiva! Es útil en situaciones en las que no desea realizar una proxy inverso de un subdirectorio", pero no hay ejemplos por esa situación

Respuestas:


13

Ok, lo descubrí, resulta que, obviamente, no hay necesidad de especificar el proxy para las rutas excluidas.

ProxyPass / somedir!

Funciona genial


Hmm Esto es interesante porque si estaba usando AJP para vincular a Tomcat (para servir contenido JSP dinámico), entonces esta directiva podría permitirle, por ejemplo, excluir el directorio "/ images" en el servidor para que Tomcat sirva las imágenes en lugar de ¿¿¿Gato???
djangofan

Pues lo hace. No estoy seguro de entender tu pregunta.
Andrei

2
Tenga en cuenta que esto tiene que ir antes que las otras directivas de ProxyPass para tener efecto, ya que la primera coincidencia es la que se aplica.
Ryan C. Thompson
Al usar nuestro sitio, usted reconoce que ha leído y comprende nuestra Política de Cookies y Política de Privacidad.
Licensed under cc by-sa 3.0 with attribution required.