
Me gustaría que nginx redirija (¿reescriba?) todas las solicitudes de /images
, /css
, /whatever
a http://frontend/site/images
o http://frontend/site/css
, porque http://frontend/site
está asignada correctamente backend:port
al sitio pero, por supuesto, siempre busca /whatever
en 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 /location
directivas
gracias
Respuesta1
Si site
es estático:
rewrite ^(.*)$ /site/$1 break;
Si site
está destinado a ser el nombre de host/dominio:
rewrite ^(.*)$ /$host$1 break;
rewrite
También se puede utilizar en el server
bloque: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/;