Ich kann Nginx dazu bringen, auf www.example.com zu antworten. Aber ich möchte www.example.com/site0 auf einen bestimmten Server und www.example.com/site1 auf einen anderen umleiten. Es funktioniert, wenn ich auf den Stammspeicherort www.example.com zeige.
Aber ich kann Nginx nicht dazu bringen, www.example.com/site0 auf einen bestimmten Server aufzulösen
Hier ist meine Konfiguration:
server {
listen 80;
server_name www.example.com localhost;
location /site0/ {
proxy_pass http://0.0.0.0:5000;
proxy_set_header Host $host;
}
}
Versuch, auf www.example.com/site0/ zuzugreifen. return
192.168.0.254 - - [14/Mar/2018:21:13:28 +0100] "GET /site0 HTTP/1.1" 301 185 "-" "curl/7.54.0"
192.168.0.254 - - [14/Mar/2018:21:13:31 +0100] "GET /site0/ HTTP/1.1" 404 233 "-" "curl/7.54.0"
Ich verstehe nicht, warum das nicht funktioniert. Ich verwende dieses Beispiel, um meinen Server zu konfigurieren: https://gist.github.com/soheilhy/8b94347ff8336d971ad0
bearbeiten:( der Fehler war:
proxy_pass http://0.0.0.0:5000/;
Beachten Sie den Schrägstrich am Ende der Ziel-URL. Ich weiß nicht, warum dies für den Standort '/' nicht wichtig ist.
Antwort1
Ein ziemlich großer Unterschied zwischen
proxy_pass http://0.0.0.0:5000;
Und
proxy_pass http://127.0.0.1:5000;