nginx リバースプロキシ 単一の URL をカスタムサーバーに単一の URL で送信

nginx リバースプロキシ 単一の URL をカスタムサーバーに単一の URL で送信

静的ページプロバイダーでページを設計し、所有するドメイン www.example.org (nginx サーバーにアクセスする) を参照するときに利用できるようにしたいと考えています。

ターゲット: https://www.example.org/a/b-->https://static-page-provider.com/c

  • ユーザーはhttps://www.example.org/a/bURLを入力する
  • 私がホストしている nginx プロキシは、https://www.example.org正確なパス /a/b でリクエストを受信し、プロキシ パスを実行する必要があります。
    • https://static-page-provider.com/cリモートサーバーはHOSTヘッダー付きのGETリクエストを受信する必要があります。static-page-provider.com
  • ユーザーはhttps://www.example.org/a/bURLで以下を見る必要があります
  • スラッシュ付きの最終アドレスでも同じように動作するはずですhttps://www.example.org/a/b/--> https://static-page-provider.com/c/(実際には、2つのケースのどちらで/c/あってもかまいません。/c

保存すべき

それは可能ですか?(または、セキュリティ上の問題で不可能なのでしょうか?)502 Bad Gateway が発生し、ログに SSL 関連のエラーが表示されます。

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"

以下の設定を試すとき。この設定が完全​​一致かどうかもわかりません (/a/b/cルールの対象になっているのでしょうか?)。

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/最終コンテンツを含む実際の URLが 301 リダイレクト (たとえば へのリダイレクトhttps://static-page-provider-2.com/c/) を返す場合、ユーザーに対してリダイレクトに従うこと、およびユーザーが を引き続き表示することは可能ですかhttps://www.example.org/a/b?

nginx/1.12.2 の使用

編集: httpS なしで静的プロバイダーで proxy_pass を使用すると、ある程度機能しますが、その場合は安全な接続が必要です。

関連情報