"El servidor debe ser compatible con SSL pero no tiene ningún certificado configurado"

"El servidor debe ser compatible con SSL pero no tiene ningún certificado configurado"

Ubuntu 14.04 Apache 2.4.7 con mod_ssl

Estoy intentando instalar un certificado de dominio (único). Por alguna razón, Apache no lo acepta y se niega a iniciarse si el sitio web relacionado está habilitado. A pesar de buscar mucho en Google, no puedo entender los mensajes de error. ¿Por qué dice que no hay ningún certificado configurado? Está configurado en el host virtual y apunta al archivo crt en la ubicación correcta.

Registro de errores

[Tue May 19 18:11:08.123857 2015] [ssl:emerg] [pid 10040:tid 140146576725888] AH02240: Server should be SSL-aware but has no certificate configured [Hint: SSLCertificateFile] ((null):0)
[Tue May 19 18:11:08.123894 2015] [ssl:emerg] [pid 10040:tid 140146576725888] AH02312: Fatal error initialising mod_ssl, exiting.

Lo que he probado:

  • Sintaxis de virtualhost verificada dos veces y ruta al certificado y la clave.
  • El certificado verificado dos veces tiene chmoded 644 y la clave tiene chmoded 600.
  • El certificado verificado dos veces es válido. Descargado nuevamente de mi proveedor. Lo abrí en el editor.

Aquí está el servidor virtual.

<IfModule mod_ssl.c>
    <VirtualHost *:443>
        ServerName www.domain.tld
        RedirectMatch (.*) https://domain.tld$1
    </VirtualHost>

    <VirtualHost _default_:443>
        ServerAdmin admin@localhost
        ServerName domain.tld
        DocumentRoot /home/user/www/domain.tld/public

        # SSL CERTIFICATES

        SSLEngine on
        SSLCertificateFile /etc/ssl/certs/domain.tld.crt
        SSLCertificateKeyFile /etc/ssl/private/domain.tld.key
        SSLCertificateChainFile /etc/ssl/certs/GandiStandardSSLCA2.pem
        SSLVerifyClient None
        # SSLProtocol all -SSLv2 -SSLv3

        <FilesMatch "\.(cgi|shtml|phtml|php)$">
                        SSLOptions +StdEnvVars
        </FilesMatch>
        <Directory /usr/lib/cgi-bin>
                        SSLOptions +StdEnvVars
        </Directory>
        BrowserMatch "MSIE [2-6]" \
                        nokeepalive ssl-unclean-shutdown \
                        downgrade-1.0 force-response-1.0
        BrowserMatch "MSIE [17-9]" ssl-unclean-shutdown


        <Directory /home/user/www/domain.tld/public>
            Require all granted
        </Directory>

        LogLevel error
        ErrorLog ${APACHE_LOG_DIR}/user-eu-error.log
        CustomLog ${APACHE_LOG_DIR}/user-eu-access.log combined

        ProxyPassMatch ^/(.*\.php(/.*)?)$ fcgi://127.0.0.1:9000/home/user/www/domain.tld/public/$1

        ErrorDocument 404 /missing.php

        # Mod_status
        <location /server-status> 
            SetHandler server-status 
            Order Allow,Deny
            Allow from all
        </location>
    </VirtualHost>
</IfModule>

¿Alguna sugerencia sobre qué podría estar mal?

Respuesta1

Creo que eltrai está en el camino correcto, pero eliminaría el primer <VirtualHost>bloque y lo usaría ServerAliasen el segundo.

<VirtualHost _default_:443>
    ServerAdmin admin@localhost
    ServerName domain.tld
    ServerAlias www.domain.tld

Puedes agregar tu RedirectMatchlater en ese mismo bloque para redirigir de www a non.

Respuesta2

Una cosa más para verificar que no se mencionó en las respuestas anteriores.

Si tiene "SSLEngine activado" en cualquier parte de su configuración global (básicamente en cualquier lugar fuera de VirtualHost y bloques similares) y no tiene una directiva SSLCertificateFile también definida globalmente, Apache se ahogará con esto incluso antes de llegar al host virtual y usted obtendrá este error.

El mensaje de error es realmente correcto, pero no menciona QUÉ servidor no tiene certificado.

Respuesta3

Su primer host virtual (para www.dominio.tld) ​​no tiene SSL habilitado, aunque esté en el puerto 443.

Debe agregar SSLEngine, SSLCertificateFile, ... como en el segundo; de lo contrario, no será posible el acceso https para www.domain.tld.

Sin embargo, no estoy muy seguro de que deba provocar una negativa rotunda a comenzar...

información relacionada