Lorsque je mappe le serveur Nginx avec des ports différents sur l'hôte et l'invité, la redirection de l'emplacement suit le port de l'invité au lieu du port de l'uri demandé.
Étape à reproduire :
$ cat /tmp/default.conf
server {
listen 8080;
server_name localhost;
location ~ ^/loveslash$ {
return 301 $request_uri/;
}
location ~ ^/loveslash/$ {
add_header Content-Type text/plain;
return 200 'yayy!';
}
location / {
add_header Content-Type text/plain;
return 200 '¯\_()_/¯';
}
}
$ docker run --name some-nginx -v /tmp/default.conf:/etc/nginx/conf.d/default.conf:ro -p 80:8080 --rm nginx
$ curl -i http://localhost/loveslash | grep Location
% Total % Received % Xferd Average Speed Time Time Time Current
Dload Upload Total Spent Left Speed
100 169 100 169 0 0 165k 0 --:--:-- --:--:-- --:--:-- 165k
Location: http://localhost:8080/loveslash/
- Ce que je reçois :
http://localhost/loveslash -> http://localhost:8080/loveslash/
- Ce que je veux :
http://localhost/loveslash -> http://localhost/loveslash/
2 votes
Essayez d'ajouter
port_in_redirect off;
a laserver
bloc.1 votes
@RichardSmith ça marche. Merci.
0 votes
@RichardSmith J'ajouterais votre suggestion en tant que réponse, afin que les "kudos" puissent être donnés ;)