Nginx fonctionne sur le port 80, et je l'utilise pour faire du reverse proxy sur les URLs avec le chemin /foo
au port 3200
de cette façon :
location /foo {
proxy_pass http://localhost:3200;
proxy_redirect off;
proxy_set_header Host $host;
}
Cela fonctionne bien, mais j'ai une application sur le port 3200
pour laquelle je ne veux pas de l'initiale. /foo
à envoyer à. C'est-à-dire que lorsque j'accède à http://localhost/foo/bar
Je veux seulement /bar
pour être le chemin tel que reçu par l'application. J'ai donc essayé d'ajouter cette ligne au bloc de localisation ci-dessus :
rewrite ^(.*)foo(.*)$ http://localhost:3200/$2 permanent;
Cela entraîne une redirection 302 (changement d'URL), mais je veux une redirection 301. Que dois-je faire ?