Sububicaciones de proxy inverso

Sububicaciones de proxy inverso

Me gustaría que nginx redirija (¿reescriba?) todas las solicitudes de /images, /css, /whatevera http://frontend/site/imageso http://frontend/site/css, porque http://frontend/siteestá asignada correctamente backend:portal sitio pero, por supuesto, siempre busca /whateveren lugar dehttp://frontend/site/whatever

¿Existe una forma de decirle a un proxy inverso nginx que adapte la URL dinámicamente? sin crear cientos de /locationdirectivas

gracias

Respuesta1

Si sitees estático:

rewrite ^(.*)$ /site/$1 break;

Si siteestá destinado a ser el nombre de host/dominio:

rewrite ^(.*)$ /$host$1 break;

rewriteTambién se puede utilizar en el serverbloque:ngx_http_rewrite_module



Editar:
Después de su comentario, la respuesta es simplemente la inversa:

location /nasweb/ {
 rewrite ^/nasweb(/.*)$ $1 break;
 proxy_pass http://your-internal-nas;
}

Esto debería permitirle abrir https://your-external-domain.com/nasweb/y reenviar su solicitud a http://your-internal-nas/.

Editar:
Para evitar redireccionamientos incorrectos, utilice esto:

proxy_redirect / /nasweb/;

información relacionada