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