In Nginx haben wir versucht, eine URL wie folgt umzuleiten:
http://example.com/some/path -> http://192.168.1.24
wo der Benutzer noch die ursprüngliche URL in ihrem Browser sieht. Sobald der Benutzer umgeleitet wurde, sagen /section/index.html
wir , dass er auf den Link zu klickt , möchten wir, dass dies eine Anfrage macht, die zur Umleitung führt
http://example.com/some/path/section/index.html -> http://192.168.1.24/section/index.html
und noch einmal die ursprüngliche URL beibehalten.
Unsere Versuche umfassten verschiedene Lösungen unter Verwendung von Proxys und Umschreibregeln. Im Folgenden wird die Konfiguration gezeigt, die uns einer Lösung am nächsten gebracht hat (beachten Sie, dass dies die Webserverkonfiguration für den example.com
Webserver ist). Es gibt jedoch immer noch zwei Probleme:
- Das erneute Schreiben wird nicht ordnungsgemäß ausgeführt, da die vom Webserver empfangene Anforderungs-URL die erforderliche Seite
http://192.168.1.24
enthält/some/path
und daher nicht bereitstellt. Wenn Sie auf einem Link schweben, nachdem eine Seite geliefert wurde,
/some/path
fehlt in der URLserver { listen 80; server_name www.example.com; location /some/path/ { proxy_pass http://192.168.1.24; proxy_redirect http://www.example.com/some/path http://192.168.1.24; proxy_set_header Host $host; } location / { index index.html; root /var/www/example.com/htdocs; } }
Wir suchen nach einer Lösung, bei der nur die Webserverkonfiguration geändert werden muss example.com
. Wir können die Konfiguration auf 192.168.1.24
(auch auf Nginx) ändern , möchten dies jedoch vermeiden, da wir dieses Setup für Hunderte verschiedener Server wiederholen müssen, über die der Zugriff erfolgt example.com
.