Nginx Reverse-Proxy - eine einzelne URL zu einer einzelnen URL eines benutzerdefinierten Servers

Nginx Reverse-Proxy - eine einzelne URL zu einer einzelnen URL eines benutzerdefinierten Servers

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/bdie URL ein
  • Der von mir gehostete Nginx-Proxy https://www.example.orgempfängt die Anfrage auf dem genauen Pfad /a/b und muss einen Proxy-Pass verwenden:
    • https://static-page-provider.com/cDer Remote-Server sollte eine GET-Anfrage mit HOST-Header erhaltenstatic-page-provider.com
  • Der Benutzer sollte https://www.example.org/a/bin der URL sehen
  • Dasselbe sollte auch für die endgültige Adresse mit einem Schrägstrich https://www.example.org/a/b/--> funktionieren https://static-page-provider.com/c/(es ist mir eigentlich egal, ob es sich um einen Schrägstrich handelt /c/oder nur /cfür einen der beiden Fälle

Sollte erhalten bleiben

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/cvon 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.

verwandte Informationen