Ocorreu um erro ao depurar o certificado SSL autoassinado para o Apache

2

Estou tentando configurar um certificado SSL autoassinado para que eu possa desenvolver meu aplicativo com SSL (para que eu possa finalmente executar meus sites com SSL ...). Eu criei um site Angular com uma API sem cabeça (Lumen) e tentei configurar um certificado SSL de vários domínios usando uma pergunta do ServerFault:

Como criar um multi-domínio certificado autoassinado para o Apache2?

O comando de teste fez check-out, então eu tentei instalar o certificado com a seguinte configuração do Apache:

<VirtualHost *:80>
        ServerAdmin [email protected]
        ServerName api.gamersplane.local
        DocumentRoot /var/www/GamersPlane.api/public
        <Directory /var/www/GamersPlane.api/public/>
                Options Indexes FollowSymLinks
                AllowOverride All
                Require all granted
        </Directory>

        ErrorLog "|/usr/bin/cronolog /var/log/gamersplane/%Y/%m/%d/error.log"

        # Possible values include: debug, info, notice, warn, error, crit,
        # alert, emerg.
        LogLevel notice

        CustomLog ${APACHE_LOG_DIR}/gamersplane/access.log combined

        SSLEngine on
        SSLCertificateFile /var/www/GamersPlane.api/ssl/gamersplane.local.pem
        SSLCertificateKeyFile /var/www/GamersPlane.api/ssl/gamersplane.local.key
</VirtualHost>

Infelizmente, quando eu acesso meu site, recebo This site can’t provide a secure connection . Eu tentei googling para isso, mas tudo parece específico para determinados sites / configs, e eu não consigo descobrir como depurar o que está errado.

Eu configurei a configuração do Apache através de um guia da Digital Ocean, que também recomendou essas configurações, das quais eu não tinha certeza. Eu tentei com e sem eles, sem sorte:

<FilesMatch "\.(cgi|shtml|phtml|php)$">
    SSLOptions +StdEnvVars
</FilesMatch>
<Directory /usr/lib/cgi-bin>
    SSLOptions +StdEnvVars
</Directory>

Eu adoraria receber ajuda para entender como depurar / resolver esses tipos de problemas.

    
por RhoVisions 02.10.2017 / 06:03

2 respostas

5

Você precisa configurar outro VirtualHost do Apache e um Listen na porta 443.

Veja: link

E eu não usaria certificados autoassinados nem mesmo para desenvolvimento quando você puder ter certificados assinados por uma autoridade de certificação pública gratuitamente no link

    
por 02.10.2017 / 06:42
3

Eu modifiquei sua configuração para algo útil. Deve funcionar como está, mas não testado.

# only if not already listen to port 443 ! apache ssl module have to be enabled, too !
Listen 443

<VirtualHost *:443>
    ServerAdmin [email protected]
    ServerName api.gamersplane.local
    # ServerAlias api2.gamersplane.local
    DocumentRoot /var/www/GamersPlane.api/public
    <Directory /var/www/GamersPlane.api/public/>
            Options Indexes FollowSymLinks
            AllowOverride All
            Require all granted
    </Directory>

    ErrorLog "|/usr/bin/cronolog /var/log/gamersplane/%Y/%m/%d/error.log"

    # Possible values include: debug, info, notice, warn, error, crit,
    # alert, emerg.
    LogLevel notice

    CustomLog ${APACHE_LOG_DIR}/gamersplane/access.log combined

    SSLEngine on
    SSLCertificateFile /var/www/GamersPlane.api/ssl/gamersplane.local.pem
    SSLCertificateKeyFile /var/www/GamersPlane.api/ssl/gamersplane.local.key
    SSLProtocol all -SSLv2 -SSLv3
    SSLHonorCipherOrder on
    SSLCipherSuite 'HIGH:!aNULL:!eNULL:!EXP:!DES:!MD5:!PSK:!RC4:!SRP:!DSS:!CAMELLIA:!SHA'
    # depending on apache version also useful options:
    SSLCompression off
    SSLInsecureRenegotiation off
</VirtualHost>
    
por 02.10.2017 / 07:48