1 votes

Nginx : proxy_pass ignore le port

J'ai une application avec Swagger sur localhost:8080/swagger/.

J'ai besoin d'une redirection de localhost:80 vers l'URL Swagger actuelle qui est localhost:8080/swagger/ donc j'ai configuré un proxy inverse Nginx :

server {
    listen 80;

    server_name=_;

    location / {
           proxy_pass http://localhost:8080/swagger/;
           proxy_redirect off;
           proxy_set_header Host $http_host;
           proxy_set_header X-Real-IP $remote_addr;
           proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
    }
}

Donc lorsque je saisis localhost:80, je reçois le code 301 et je suis redirigé vers localhost:80/swagger/index.html. Mais j'ai besoin du port 8080, pourquoi Nginx ignore le port dans proxy_pass ?

-1voto

ANS Points 11

Vous pouvez modifier la directive listen du bloc serveur écoutant sur le port 80 pour inclure également le numéro de port :

listen 80 default_server;

Cela permettra à Nginx d'écouter sur le port 80 et de router le trafic vers http://localhost:8080/swagger/ tout en conservant le numéro de port dans l'URL.

SistemesEz.com

SystemesEZ est une communauté de sysadmins où vous pouvez résoudre vos problèmes et vos doutes. Vous pouvez consulter les questions des autres sysadmins, poser vos propres questions ou résoudre celles des autres.

Powered by:

X