example.com
のSSL証明書を介して保護されているレガシーサーバーがあります。このサーバーの前に別のサーバーをproxy_pass
特定の(レガシー)トラフィックに配置したいと思います。新しいサーバーはexample.com
でも公開する必要があります。
これらが別々のドメイン(legacy.example.com
とexample.com
)にある場合、私は単にproxy_pass https://legacy.example.com
を実行できます。ただし、レガシーアプリにはハードコードされたexample.com
URLが散らばっています(また、example.com
のSSL証明書しかありません)。その他のURL(IPなど)はexample.com
にリダイレクトされます。
私がやりたいのはproxy_pass <legacy IP>
で、Hostヘッダーをproxy_set_header Host example.com
で設定します。ただし、問題は、これがHTTPSを使用しないことです。
しばらく前にcurlで何かをしましたが、IPでサーバーに接続できましたが、証明書に使用するドメインを指定しました。このIPへのexample.com
マッピングのA
レコードはありませんでしたが、そのドメインによって接続されていると思わせることができました。
curl https://example.com/path --resolve example.com:<IP>
Nginxにこのようなものはありますか?
自分で使ったことはありませんが、proxy_ssl_name
あなたが探しているものかもしれません:
例えば:
proxy_set_header Host example.com;
proxy_ssl_name example.com;
proxy_pass https://1.2.3.4;
詳細については、 このドキュメント を参照してください。