estoy tratando de configurar nginx para que el proxy pase la solicitud a otro servidor, solo si la variable $ request_body coincide con una expresión regular específica.nginx proxy condicional pase
Mi problema ahora es que no sé cómo configurar este comportamiento exactamente.
estoy actualmente a éste:
server {
listen 80 default;
server_name test.local;
location/{
proxy_set_header X-Real-IP $remote_addr;
proxy_set_header X-Forwarded-For $remote_addr;
proxy_set_header Host $http_host;
if ($request_body ~* ^(.*)\.test) {
proxy_pass http://www.google.de;
}
root /srv/http;
}
}
pero el problema aquí es, que la raíz tiene siempre la upperhand. el proxy no se aprobará de ninguna manera.
¿Alguna idea sobre cómo podría lograr esto?
gracias de antemano
¿Seguro que desea comprobar '$ request_body' contra la expresión regular? Se ralentizará tu aplicación x veces Además, ¿quieres hacer 'proxy_pass' o simplemente' reorientar'? – user973254
sí, no tengo otra opción, desafortunadamente, y realmente necesito un pase proxy, la aplicación no puede redireccionar (cliente xml-rpc) – sharpner
¿Pero cuál es el problema ahora? No está funcionando? ¿Qué hay en los registros? – user973254