Eu tenho um servidor legado protegido por certificado SSL para example.com
. Quero colocar outro servidor na frente deste para proxy_pass
determinado tráfego (legado). O novo servidor também deve ser exposto example.com
.
Se estivessem em domínios separados ( legacy.example.com
e example.com
), eu simplesmente conseguiria proxy_pass https://legacy.example.com
. No entanto, o aplicativo legado está repleto de example.com
URLs codificados (e possui apenas um certificado SSL para example.com
). Qualquer outro URL (o IP, por exemplo) será redirecionado para example.com
.
O que eu quero fazer é proxy_pass <legacy IP>
definir o cabeçalho do host com proxy_set_header Host example.com
. Mas o problema é que isso não usa HTTPS.
Fiz algo há algum tempo com curl, consegui me conectar a um servidor pelo IP, mas especifiquei o domínio a ser usado para o certificado. Embora não houvesse A
registro de example.com
mapeamento para esse IP, consegui induzi-lo a pensar que estava sendo conectado por aquele domínio.
curl https://example.com/path --resolve example.com:<IP>
Existe algo assim no Nginx?
Responder1
Eu não usei, mas parece que proxy_ssl_name
pode ser o que você está procurando:
Por exemplo:
proxy_set_header Host example.com;
proxy_ssl_name example.com;
proxy_pass https://1.2.3.4;
Veresse documentopara detalhes.