Tenemos un servidor dedicado con GoDaddy ejecutando Plesk que requiere SSL.
Generé los archivos de certificado y creé un vhost_ssl.conf (dado que no puedo editar la configuración predeterminada de Plesk Apache http.include, vhost_ssl.conf se incluye en httpd.include) que le indica a Apache dónde encontrar los archivos de certificado:
SSLCertificateFile /usr/local/psa/var/certificates/domain.com.crt
SSLCertificateKeyFile /usr/local/psa/var/certificates/domain.com.key
SSLCertificateChainFile /usr/local/psa/var/certificates/sub.class1.server.ca.pem
Cuando detengo/inicio Apache, se niega a iniciarse. El error_log tampoco tiene nada (lo cual es extraño).
Luego abrí httpd.include y encontré este bit:
<VirtualHost 208.xxx.xxx.xxx:443>
ServerName domain.com:443
ServerAlias www.domain.com
UseCanonicalName Off
SSLEngine on
SSLVerifyClient none
SSLCertificateFile /usr/local/psa/var/certificates/certagC9054
Include /var/www/vhosts/domain.com/conf/vhost_ssl.conf
Luego comenté
SSLCertificateFile /usr/local/psa/var/certificates/certagC9054
(que es el certificado SSL de Plesk) y reinicié Apache y funcionó perfectamente bien.
¿Parece que a Apache no le gustan varios SSLCertificateFile dentro de la misma directiva VirtualHost?
Como sabe cualquiera que haya trabajado con Plesk, no puedo simplemente eliminar la directiva SSLCertificateFile en httpd.include ya que Plesk sobrescribirá mis cambios cuando alguien la use, razón por la cual está en vhost_ssl.conf.
Así que estoy estancado y esto va más allá de mis escasas habilidades administrativas. Agradecería que alguien que sepa lo que está haciendo me dijera qué está pasando.
Gracias de antemano.
Respuesta1
En mi experiencia con Plesk, las cosas generalmente han funcionado mejor cuando he usado el sitio de administración de Plesk para administrar mis sitios, en lugar de editar manualmente el archivo de configuración. El soporte integrado de Plesk para certificados SSL es bastante bueno: puede agregar fácilmente un certificado que haya obtenido de un tercero y asociarlo con uno de los sitios que haya configurado en Plesk.
Si elige modificar los archivos de configuración directamente, la señal de alerta que veo en su publicación es que está intentando aplicar dos certificados diferentes al mismo host virtual. En mi experiencia, los certificados SSL generalmente solo funcionan cuando existe una relación 1:1 entre la dirección IP y el certificado SSL. Mi sugerencia sería eliminar uno de los certificados SSL o dividir el host virtual en dos sitios separados con diferentes direcciones IP.
Respuesta2
No tiene nada que ver con Plesk. El problema está en la forma en que funcionan SSL y HTTP. Básicamente, SSL no conoce el nombre de su servidor antes de iniciarse, por lo que Apache no puede elegir qué conjunto de certificados usar. Verhttp://www.modssl.org/docs/2.8/ssl_faq.html#ToC47para obtener más detalles sobre este problema del huevo y la gallina.