NGINX redirige toujours vers localhost et port

J’ai un serveur proxy NGINX qui inverse un serveur NGINX local exécuté sur un port. Je veux que tout cela soit gardé dans le même domaine car il semble transparent pour les visiteurs. Quelque chose comme ça

http://example.com/foo/bar.html ===> http://127.0.0.1:1280/bar.html 

Cela fonctionne très bien si je déclenche intentionnellement une erreur de fichier introuvable, exemple

 http://example.com/foo/this-file-doesnt-really-exist-on-server.html 

il traverse et rest à cette adresse comme prévu. Cependant, si je navigue vers un fichier qui existe tel que

 http://example.com/foo/bar.html 

Le navigateur est redirigé vers

 http://127.0.0.1:1280/bar.html 

et comme ce serveur n’écoute que localhost, le navigateur lance une erreur Page Not Found (404)

Cela me déconcerte, j’ai tout essayé, j’ai fouillé Google pendant plus d’une semaine en essayant des centaines de solutions sans aucun succès ou changement du tout, Iv a essayé des dizaines de combinaisons avec ces en-têtes

 proxy_set_header X-Real-IP $remote_addr; proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for; proxy_set_header Host $http_host; proxy_set_header X-NginX-Proxy true; 

et ont essayé des dizaines de reidrects proxy différents, y compris la désactivation complète de redirection de proxy

 proxy_redirect http://127.0.0.1:1285/ http://example.com/foo/; 

ou

 proxy_redirect off; 

J’ai parlé d’abandon et j’ai jugé que c’était tout à fait impossible dans NGINX, si quelqu’un avait de l’aide, ce serait très apprécié.

Je pense que vous recherchez proxy_pass , pas proxy_redirect :

 location / { # include your proxy params # ... proxy_pass http://localhost:1280; } 

Voir les docs nginx à ce sujet:

  • proxy_pass

J’ai trouvé le problème à mettre en cache. La mise en cache des fichiers ouverts, la mise en cache cgi rapide, la mise en cache de proxy et la mise en cache des journaux ouverts étaient activées. Après avoir désactivé toutes les bizarreries bizarres, l’une des personnes mentionnées ici s’est arrêtée jusqu’à présent.