nginx halten, port-Nummer, wenn Sie eine 301-Umleitung

Ich versuche, zu kollabieren, eine zweite Marke für eine web-app in die ersten Marken und verwenden Sie 301-Umleitungen umleiten alle verbleibenden Verkehr. Der server läuft in einer Vagrant box-Weiterleitung auf port 8001. Ich möchte haben:

Statt https://local-dev-url:8001/foo/(nichts) 301 zu https://local-dev-url:8001/(nichts)

Statt https://local-dev-url:8001/adminfoo/(nichts) 301 zu https://local-dev-url:8001/admin/(nichts).

Hier ist, was ich habe:

    location ~ /foo/?(.*)$ {
        return 301 $1/;
    }

    location ~ /adminfoo/?(.*)$ {
        return 301 admin/$1/;
    }

    location /{
        proxy_set_header Host $http_host;
        proxy_set_header X-Real-IP $remote_addr;
        proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
        proxy_set_header X-Forwarded-Port 443;
        proxy_set_header Authorization $http_authorization;
        proxy_set_header X-Scheme $scheme;
        proxy_pass http://127.0.0.1:5000;
        proxy_redirect http://$scheme://;
    }

    location /admin/{
        alias /hostonly/path/to/admin/stuff/;
    }

Jedoch, statt der Umleitung https://local-dev-url:8001/foo/ zu https://local-dev-url:8001/ es ist 301ing zu https://local-dev-url// statt. (Keine port-Nummer, zusätzlichen Schrägstrich.) Ich habe gesehen, Antworten, hart-code der URL der Umleitung, aber da ich die Arbeit mit einer Menge von anderen devs, und wir alle haben einzigartige lokale dev-URLs, die nur konsistente Teil ist der :8001 port-Nummer.

Gibt es eine Möglichkeit zum konfigurieren der 301 arbeiten wie gewünscht?

  • Was port ist dieser server lauscht auf? Sind Sie auf der Weiterleitung von 8001 bis 80?
  • port 443 nicht 80.
InformationsquelleAutor David Millar | 2017-04-13
Schreibe einen Kommentar