lors de l'accès: http://example.com/somefolder -> http://example.com:8080/somefolder
J'ai essayé ceci:
http {
port_in_redirect off;
Des idées?
lors de l'accès: http://example.com/somefolder -> http://example.com:8080/somefolder
J'ai essayé ceci:
http {
port_in_redirect off;
Des idées?
server
bloc qui contient laproxy_pass
directive. Ce dont vous aurez probablement besoin sera uneproxy_redirect
directive - voir votre configuration devrait confirmer.port_in_redirect
deon
à,off
vous devrez peut-être le redémarrer.port_in_redirect
ne fonctionne pas du toutRéponses:
Je viens de rencontrer le même problème et
port_in_redirect off;
j'ai réellement travaillé pour moi, assurez-vous simplement de l'utiliser dans leserver {}
bloc.la source
port_in_redirect
intérieurlocation
.Cela devrait résoudre le problème. Ajouter une
proxy_redirect
directive juste après laproxy_pass
directiveproxy_redirect http://example.com:8080/ http://example.com/;
la source
Si quelqu'un rencontre toujours ce problème tout en ayant apache derrière la configuration du proxy inverse nginx, vous pouvez essayer le ff:
Ma configuration est que je laisse Apache écouter 127.0.0.1:8083 et laisse les requêtes proxy nginx.
la source
J'ai eu le même problème avec ma configuration nginx + Apache. Apache semble rediriger vers son propre port (exécuté sur 8080), tandis que nginx est sur le port 80.
Dans ma configuration, cela faisait une boucle de redirection infinie pour les URL normales :
Liez plutôt les données renvoyées au port 80, comme ceci:
Voici mon bloc serveur nginx:
Avec cette configuration générique, toutes les requêtes pour lesquelles nginx n'a pas de bloc serveur sont transmises à Apache.
la source
Au cas où quelqu'un d'autre aurait ce problème - l'article ici: http://www.linuxquestions.org/questions/linux-server-73/strange-nginx-redirects-without-trailing-slash-930876/ a résolu le problème pour moi .
J'ai dû ajouter un en-tête supplémentaire dans le proxy.
Assurez-vous que vous avez l'ensemble du pays hôte
$http_host
et que vous avez défini leX-Forwarded-Host
à$http_host
comme ci - dessous:la source
Je pense que cet exemple simple suffit:
la source
http://wiki.codemongers.com/NginxHttpCoreModule#port_in_redirect
J'espère que c'est ce que vous recherchez.
la source
J'avais un problème similaire.
Vous devriez peut-être utiliser la directive
proxy_set_header
pour définir l'hôte et l'emplacement des en-têtes. Dans ma configuration, j'ai ajoutéproxy_set_header Location $host:80
; et toutes les demandes renvoient maintenant le port 80.la source
Ce problème est dû à la conversion automatique de Nginx du chemin relatif en chemin absolu, non?
Il existe un moyen de dire à Nginx de ne pas traduire, vous ajoutez un espace avant la barre oblique:
ngx.redirect(" /foo")
la source
Je recommanderais plutôt d'ajouter ceci à votre bloc serveur:
C'était lorsque vous allez sur example.com/wp-admin, il ira sur example.com/wp-admin plutôt que sur example.com:8080/wp-admin/ et si vous êtes sur CloudFlare DNS par exemple, il dira le site est en panne.
J'utilise Ubuntu, Nginx et Varnish et cela fonctionne parfaitement maintenant plutôt que de désactiver port_in_redirect.
Pour ajouter, assurez-vous de redémarrer nginx après:
la source
L'ajout
absolute_redirect off;
du bloc de localisation fonctionne pour moi.la source