3 votes

Nginx change les liens vers 127.0.0.1

J'ai une application flask qui fonctionne dans un conteneur docker, et j'ai configuré nginx pour rediriger toutes les demandes vers ce conteneur. Voici ma configuration de nginx :

server {
  listen 80;
  location / {
    proxy_pass http://127.0.0.1:5000;
    proxy_redirect off;
    proxy_http_version 1.1;
    proxy_set_header Connection "Keep-Alive";
    proxy_set_header Proxy-Connection "Keep-Alive";
    proxy_read_timeout 60s;
  }
}

Sur la page d'accueil, j'ai un lien vers un sous-répertoire. <a href="serverfault.com/sub/dir/">Test</a> et lorsque la page est rendue, je peux voir qu'elle est liée à http://example.com/sub/dir . Cependant, lorsque je clique dessus, le navigateur affiche http://127.0.0.1:5000/sub/dir et essaie d'atteindre mon local.

0 votes

Vérifiez ce que fait votre navigateur dans les outils de débogage lorsqu'il tente de se connecter à la mauvaise adresse - le navigateur est-il redirigé par une réponse 30x, ou s'agit-il de la première requête après avoir cliqué sur le bon lien ?

0 votes

Oh, c'est intéressant. Il a obtenu un 301 MOVED PERMANENTLY

0 votes

Je pense que je sais pourquoi mon application flask a aussi une redirection

1voto

Suanmeiguo Points 131

Merci pour l'aide de @Shane, j'ai trouvé pourquoi.

Mon application flask a une redirection sur ce lien vers une autre page, après avoir ajouté ceci à ma configuration nginx, cela a fonctionné pour moi :

proxy_set_header Host $Host;

0 votes

Désolé, j'ai répondu à ma propre question. Mais j'espère que cela aidera ceux qui ont le même problème.

0 votes

Pas d'inquiétude à avoir, vous êtes autorisé à répondre à vos questions.

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