Die Nginx Reverse Proxy-Umleitung gibt eine falsche URL zurück

1049
scott8035

Ich richte die JIRA-Software in einem Docker-Container ein. JIRA hört am 127.0.0.1:8080. Ich habe meinen Reverse Proxy auf https: // hostname / jira und lenkt den Datenverkehr mit dieser Konfiguration um:

location /jira { proxy_set_header X-Forwarded-Proto $scheme; proxy_set_header X-Real-IP $remote_addr; proxy_set_header Host $host; proxy_set_header X-Forwarded-Host $host; proxy_set_header X-Forwarded-Server $host; proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for; proxy_pass http://127.0.0.1:8080; proxy_redirect off; } 

Das Problem ist, dass ich eine 302-Weiterleitungsschleife bekomme. Wenn ich https: // hostname / jira besuche, werde ich immer und immer wieder zu https: // hostname / jira / jira / secure / SetupMode! Default.jspa umgeleitet . Das wäre die richtige URL mit Ausnahme des zusätzlichen "/ jira" -Fragments.

0
Ich habe seitdem die Aussage "umschreiben ^ / jira (/ jira /.*) zuletzt $ 1" hinzugefügt. direkt vor dem Standortblock, aber es scheint keine Auswirkungen auf das Verhalten zu haben. Jetzt bin ich wirklich verkümmert. scott8035 vor 6 Jahren 0

1 Antwort auf die Frage

0
Anaksunaman

Das wäre die richtige URL mit Ausnahme des zusätzlichen /jiraFragments.

Statt zu verwenden location /jira, können Sie Ihren Proxy als Subdomäne in einem neuen Serverblock hinzufügen, z.

server { listen 80; server_name jira.hostname;  location / { proxy_set_header X-Forwarded-Proto $scheme; proxy_set_header X-Real-IP $remote_addr; proxy_set_header Host $host; proxy_set_header X-Forwarded-Host $host; proxy_set_header X-Forwarded-Server $host; proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for; proxy_pass http://127.0.0.1:8080; proxy_redirect off; } } 

Vergessen Sie nicht, entsprechende DNS-Einträge (oder ähnliches) zu aktualisieren, um jira.hostnameauf die richtige IP- Adresse (z . B. 127.0.0.1 ) zu verweisen .