![Ubuntu16.04: Nginx 1.10: Nginx proporciona información de múltiples certificados. SSL funciona perfectamente en el navegador, pero tiene problemas con curl. error de rizo 51](https://rvso.com/image/696995/Ubuntu16.04%3A%20Nginx%201.10%3A%20Nginx%20proporciona%20informaci%C3%B3n%20de%20m%C3%BAltiples%20certificados.%20SSL%20funciona%20perfectamente%20en%20el%20navegador%2C%20pero%20tiene%20problemas%20con%20curl.%20error%20de%20rizo%2051.png)
Tengo varios sitios en un servidor Ubuntu (16.04) con nginx/1.10.0 + letsencrypt.
SSL funciona bien y es perfecto según se ve en el navegador. Pero nuestra aplicación de desarrollador que utiliza una solicitud curl (con SSL) y enfrenta un error como
Update Failed: Download failed. cURL error 51: SSL: certificate subject name 'domain2.com' does not match target host name 'domain1.com'
y al verificar usando SSLLABS, mostró A_grade pero está cargando múltiples certificados (certificado de otro dominio en el mismo servidor)
Certificate #1: RSA 2048 bits (SHA256withRSA)
y
Certificate #2: RSA 2048 bits (SHA256withRSA) No SNI
y en el segundo certificado, aparecen los siguientes errores.
Common names domain2.com MISMATCH
Trusted No NOT TRUSTED
El error de Curl también decía sobre el segundo nombre de dominio.
cURL error 51: SSL: certificate subject name 'domain2' does not match target host name 'domain1'
el dominio2 es un sitio completamente diferente. No sé cómo envía nginx su información junto con el dominio1.
También probé el mismo escenario en otros servidores creando un dominio con Letsencrypt SSL y todos tienen el mismo problema. al consultar con SSLlabscomprobador de ssllabses capaz de obtener detalles del certificado del dominio2 junto con el dominio1. Aún así, la calificación del dominio1 es A. También es segura en todos los demás sitios de verificación.
y si estoy verificando el dominio2 con SSLlabs, buscará cualquier otro certificado de dominio que esté en el mismo servidor. (pero si hay dominios A, B, C, D, una de las comprobaciones SSL de dominios obtendrá solo un certificado. Eso no es un problema y todos los demás tendrán este problema).
captura de pantalla adjunta. (una captura de pantalla larga de página completa). Creo que aclarará el caso :(
**No pude usar una solicitud Curl insegura en la aplicación, lo que ignoraría este problema y haría que la solicitud Curl fuera exitosa. Si alguien tiene una idea sobre esto, por favor ayude. Pasé muchas horas detrás de esto, todavía....
El problema anterior es para el complemento de Wordpress y, por lo tanto, no se puede agregar un parámetro específico junto con curl. (es del núcleo de WP)
Gracias de antemano.
Respuesta1
A la versión curl en uso parece que le faltan funciones básicasSNIapoyo. SNI es necesario cuando varios dominios con SSL están alojados en la misma dirección IP.
Tienes básicamente tres opciones:
- actualice curl a una versión que admita SNI.
El apoyo para esto fueintroducido en la versión 7.18.1. - agregue el parámetro de host usted mismo en sus clientes:
-H "Host: domain1.com"
- Mueva el dominio para usar una dirección IP diferente. De esta manera no son necesarios cambios en el cliente.