beim Zugriff auf: http://example.com/somefolder -> http://example.com:8080/somefolder
Ich habe das versucht:
http {
port_in_redirect off;
Irgendwelche Ideen?
beim Zugriff auf: http://example.com/somefolder -> http://example.com:8080/somefolder
Ich habe das versucht:
http {
port_in_redirect off;
Irgendwelche Ideen?
server
Block definiert, der dieproxy_pass
Direktive enthält . Was Sie wahrscheinlich brauchen werden, wird eineproxy_redirect
Anweisung sein - sehen Sie, dass Ihre Konfiguration bestätigen sollte.port_in_redirect
vonon
auf wechseln , müssenoff
Sie sie möglicherweise neu starten.port_in_redirect
funktioniert überhaupt nichtAntworten:
Ich bin auf dasselbe Problem gestoßen und habe
port_in_redirect off;
tatsächlich für mich gearbeitet. Stelle nur sicher, dass du es imserver {}
Block verwendest.quelle
port_in_redirect
drinnen verwendenlocation
.Dies sollte das Problem beheben. In
proxy_redirect
Richtlinie unmittelbar nachproxy_pass
Richtlinieproxy_redirect http://example.com:8080/ http://example.com/;
quelle
Wenn dieses Problem weiterhin auftritt, während Apache hinter dem Nginx-Reverse-Proxy-Setup installiert ist, können Sie Folgendes versuchen:
Mein Setup ist, dass ich Apache 127.0.0.1:8083 anhören und Nginx-Proxy-Anforderungen zulassen lasse.
quelle
Ich hatte das gleiche Problem mit meinem Nginx + Apache-Setup. Apache scheint auf seinen eigenen Port umzuleiten (läuft auf 8080), während Nginx auf Port 80 ist.
In meinem Setup, machte diese unendliche Schleife Umleitung für normale URLs:
Binden Sie stattdessen die zurückgegebenen Daten wie folgt an Port 80:
Hier ist mein Nginx-Serverblock:
Mit diesem Platzhalter-Setup wird allen Anfragen, für die nginx keinen Server-Block hat, an Apache weitergeleitet.
quelle
Falls jemand anderes dieses Problem hatte - der Artikel hier: http://www.linuxquestions.org/questions/linux-server-73/strange-nginx-redirects-without-trailing-slash-930876/ hat das Problem für mich gelöst .
Ich musste dem Proxy einen zusätzlichen Header hinzufügen.
Stellen Sie sicher , dass Sie den Host - Satz müssen
$http_host
und auch , dass Sie die eingestellteX-Forwarded-Host
zu$http_host
unten mögen:quelle
Ich denke, dieses einfache Beispiel ist genug:
quelle
http://wiki.codemongers.com/NginxHttpCoreModule#port_in_redirect
Hoffe, das ist, was Sie suchen.
quelle
Ich hatte ein ähnliches Problem.
Vielleicht sollten Sie die Direktive verwenden
proxy_set_header
, um den Host und den Speicherort der Header festzulegen. In meiner Konfiguration habe ich hinzugefügtproxy_set_header Location $host:80
; und alle Anforderungen geben jetzt Port 80 zurück.quelle
Dieses Problem wird durch die automatische Übersetzung des relativen Pfads in den absoluten Pfad durch Nginx verursacht.
Es gibt eine Möglichkeit, Nginx zu veranlassen, nicht zu übersetzen. Fügen Sie vor dem Schrägstrich ein Leerzeichen ein:
ngx.redirect(" /foo")
quelle
Ich würde stattdessen empfehlen, dies zu Ihrem Serverblock hinzuzufügen:
Dies war, als Sie zu example.com/wp-admin gingen, es wird zu example.com/wp-admin gehen, anstatt zu example.com:8080/wp-admin/ und wenn Sie zum Beispiel auf CloudFlare DNS sind, wird es sagen Die Seite ist ausgefallen.
Ich verwende Ubuntu, Nginx und Varnish und das funktioniert jetzt einwandfrei, anstatt port_in_redirect zu deaktivieren.
Zum Hinzufügen muss nginx nach dem folgenden Vorgang neu gestartet werden:
quelle
Das Hinzufügen
absolute_redirect off;
im Standortblock funktioniert für mich.quelle