У меня есть устаревший сервер, который защищен с помощью SSL-сертификата для example.com
. Я хочу поставить другой сервер напротив этого для proxy_pass
определенного (унаследованного) трафика. Новый сервер также должен быть выставлен на example.com
.
Если бы они были на разных доменах (legacy.example.com
и example.com
), я бы просто смог proxy_pass https://legacy.example.com
. Однако унаследованное приложение изобилует жестко закодированными URL-адресами example.com
(и оно имеет только сертификат SSL для example.com
). Любой другой URL (например, IP-адрес) будет перенаправлен на example.com
.
То, что я хочу сделать, это proxy_pass <legacy IP>
, установить заголовок узла с помощью proxy_set_header Host example.com
. Но проблема в том, что это не использует HTTPS.
Некоторое время назад я сделал что-то с помощью curl, я смог подключиться к серверу по его IP-адресу, но указать домен, который будет использоваться для сертификата. Несмотря на то, что не было записи A
для example.com
сопоставляющей этот IP, я смог обмануть его, думая, что он связан с этим доменом.
curl https://example.com/path --resolve example.com:<IP>
Есть ли что-то подобное в Nginx?