Ich habe eine Seite auf einem statischen Seitenprovider entworfen und möchte sie beim Surfen in einer mir gehörenden Domäne verfügbar machen, nämlich www.example.org (die auf einen Nginx-Server zugreift).
Ziel : https://www.example.org/a/b
-->https://static-page-provider.com/c
- Der Benutzer gibt
https://www.example.org/a/b
die URL ein - Der von mir gehostete Nginx-Proxy
https://www.example.org
empfängt die Anfrage auf dem genauen Pfad /a/b und muss einen Proxy-Pass verwenden:https://static-page-provider.com/c
Der Remote-Server sollte eine GET-Anfrage mit HOST-Header erhaltenstatic-page-provider.com
- Der Benutzer sollte
https://www.example.org/a/b
in der URL sehen - Dasselbe sollte auch für die endgültige Adresse mit einem Schrägstrich
https://www.example.org/a/b/
--> funktionierenhttps://static-page-provider.com/c/
(es ist mir eigentlich egal, ob es sich um einen Schrägstrich handelt/c/
oder nur/c
für einen der beiden Fälle
Sollte erhalten bleiben
- https://www.example.org/a/b2-->https://www.example.org/a/b2
- https://www.example.org/a/b/c-->https://www.example.org/a/b/c
- https://www.example.org/a-->https://www.example.org/a
Ist das möglich? (oder gibt es Sicherheitsimplikationen, die das unmöglich machen?). Ich erhalte die Fehlermeldung 502 Bad Gateway und in meinem Protokoll wird ein SSL-bezogener Fehler angezeigt.
2020/01/23 08:59:43 [error] 30072#0: *499 SSL_do_handshake() failed (SSL: error:14077438:SSL routines:SSL23_GET_SERVER_HELLO:tlsv1 alert internal error) while SSL handshaking to upstream, client: 172.31.28.3, server: www.example.org, request: "GET /a/b/ HTTP/1.1", upstream: "https://xx.xx.xx.xx:443/c/", host: "www.example.com"
beim Ausprobieren der folgenden Konfiguration. Ich bin mir auch nicht sicher, ob diese Konfiguration eine exakte Übereinstimmung ergibt oder nicht (wird sie /a/b/c
von der Regel angesprochen?).
location /a/b/ {
proxy_pass https://static-page-provider.com/c/;
proxy_set_header host mydomain.static-page-provider.com;
}
https://static-page-provider.com/c/
Wenn die eigentliche URL mit dem endgültigen Inhalt eine 301-Weiterleitung zurückgibt (beispielsweise zu ), ist es https://static-page-provider-2.com/c/
für den Benutzer möglich, dieser Weiterleitung zu folgen und trotzdem noch zu sehen https://www.example.org/a/b
?
Verwenden von nginx/1.12.2
BEARBEITEN: Es funktioniert irgendwie, wenn ich einen Proxy-Pass auf dem statischen Anbieter ohne httpS verwende, aber dann brauche ich eine sichere Verbindung.