Tengo Apache ejecutándose en un fw natting, que autentica, invierte servidores proxy y proporciona un contenedor SSL para 2 aplicaciones web en el back-end. Esto funciona con alojamiento virtual y servidores proxy basados en el directorio de nivel superior de la solicitud, por ejemplo https://example.com/app1/ <-> http://app1/app1/
. (ver figura 1)
Me gustaría encontrar una manera de enviar una solicitud a un servicio web basándose en un encabezado arbitrario establecido en la solicitud, por ejemplo, si el encabezado web_service:coolwebservice está configurado, vuelve a enviarlo a webservice:8000. ¿Es esto siquiera posible?
fig1 [Apache:ejemplo.com:443 / FW / NAT] | ┌------------------┬------------------┐ | | | VVV [aplicación1:80 /aplicación1/] [aplicación2:8080 /aplicación2/] [servicio_web:8000]
Respuesta1
Sí, esto es absolutamente posible con mod_rewrite, algo como esto debería funcionar:
RewriteCond %{HTTP:web-service} coolwebservice
RewriteRule ^/(.*) http://web_service:8000/$1 [P,L]
Con %{HTTP:...}
él puedes inspeccionar encabezados arbitrarios y tomar decisiones basadas en ellos.