Назад | Перейти на главную страницу

Проблемы с отладкой самозаверяющего сертификата SSL для Apache

Я пытаюсь настроить самозаверяющий сертификат SSL, чтобы я мог разработать свое приложение с помощью SSL (чтобы я наконец смог запустить свои сайты с SSL ...). Я создал сайт Angular с безголовым API (Lumen) и попытался настроить многодоменный сертификат SSL, используя вопрос от ServerFault:

Как создать многодоменный самоподписанный сертификат для Apache2?

Команда test проверила, поэтому я попытался установить сертификат со следующей конфигурацией Apache:

<VirtualHost *:80>
        ServerAdmin contact@gamersplane.com
        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>

К сожалению, когда я захожу на свой сайт, я получаю This site can’t provide a secure connection. Я пробовал поискать в Google для этого, но все кажется специфичным для определенных сайтов / конфигураций, и я не могу понять, как отладить, что не так.

Я настраивал конфигурацию Apache через руководство по Digital Ocean, которое также рекомендовало эти конфигурации, в чем я не был уверен. Я пробовал с ними и без них, не повезло:

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

Мне нужна помощь в понимании того, как отлаживать / разрешать подобные проблемы.

Вам необходимо настроить еще один виртуальный хост apache и прослушивание порта 443.

Видеть: https://httpd.apache.org/docs/2.4/ssl/ssl_howto.html

И я бы не стал использовать самозаверяющие сертификаты даже для разработки, если вы можете получить сертификаты, подписанные общедоступным центром сертификации бесплатно. https://letsencrypt.org/

Я изменил вашу конфигурацию на что-то полезно. Должно работать как есть, но не проверено.

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

<VirtualHost *:443>
    ServerAdmin contact@gamersplane.com
    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>