
Tengo un servidor heredado que está protegido mediante un certificado SSL para example.com
. Quiero poner otro servidor delante de este para proxy_pass
cierto tráfico (heredado). El nuevo servidor también debe estar expuesto example.com
.
Si estuvieran en dominios separados ( legacy.example.com
y example.com
), simplemente podría hacerlo proxy_pass https://legacy.example.com
. Sin embargo, la aplicación heredada está repleta de example.com
URL codificadas (y solo tiene un certificado SSL para example.com
). Cualquier otra URL (la IP, por ejemplo) redirigirá a example.com
.
Lo que quiero hacer es proxy_pass <legacy IP>
configurar el encabezado del host con proxy_set_header Host example.com
. Pero el problema es que esto no utiliza HTTPS.
Hice algo hace un tiempo con curl, pude conectarme a un servidor por su IP, pero especificé el dominio a usar para el certificado. Aunque no había ningún A
registro para example.com
asignar esta IP, pude engañarlo haciéndole creer que estaba conectado mediante ese dominio.
curl https://example.com/path --resolve example.com:<IP>
¿Hay algo como esto en Nginx?
Respuesta1
Yo no lo he usado, pero parece que proxy_ssl_name
podría ser lo que estás buscando:
Por ejemplo:
proxy_set_header Host example.com;
proxy_ssl_name example.com;
proxy_pass https://1.2.3.4;
Vereste documentopara detalles.