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

ОШИБКА ПРОТОКОЛА SSL на поддомене с Apache на сервере Ubuntu 17.04

У меня есть домен, я буду использовать, например, test.nl.

Wordpress работает как виртуальный хост в основном домене. Викимедиа работает как виртуальный хост на поддомене: wiki.test.nl

Теперь у меня есть еще один поддомен (vnc.test.nl), который я хочу защитить с помощью самоподписанного сертификата, чтобы соединение VNC было защищено.

Порты перенаправлены правильно.

Файл Virtualhost:

<VirtualHost *:80>
   ServerName vnc.test.nl
   Redirect permanent / https://vnc.test.nl/
</VirtualHost>

<IfModule mod_ssl.c>
   <VirtualHost *:443>
       ServerName vnc.test.nl
       DocumentRoot /var/www/vnc.test.nl
       DirectoryIndex index.html index.php index.pl index.cgi
       ErrorLog ${APACHE_LOG_DIR}/error.log
       CustomLog ${APACHE_LOG_DIR}/access.log combined

       SSLEngine on
       SSLCertificateFile /etc/apache2/ssl/server.crt
       SSLCertificateKeyFile /etc/apache2/ssl/server.key

       ProxyPreserveHost On
       ProxyPass / http://10.0.6.4:6080/
       ProxyPassReverse / http://10.0.6.4:6080/
   </VirtualHost>
</IfModule>

Я использовал это руководство о том, как защитить сайт с помощью SSL. https://www.digitalocean.com/community/tutorials/how-to-create-a-ssl-certificate-on-apache-for-ubuntu-14-04

В моем браузере появляется сообщение SLL_PROTOCOL_ERROR. В журнале ошибок apache отмечается следующее:

[Tue Nov 14 13:04:05.476933 2017] [ssl:warn] [pid 2128] AH01906: vnc.test.nl:443:0 server certificate is a CA certificate (BasicConstraints: CA == 
TRUE !?)
[Tue Nov 14 13:04:05.497306 2017] [ssl:warn] [pid 2132] AH01906: vnc.test.nl:443:0 server certificate is a CA certificate (BasicConstraints: CA == 
TRUE !?)
[Tue Nov 14 13:04:05.499219 2017] [mpm_prefork:notice] [pid 2132] AH00163: 
Apache/2.4.25 (Ubuntu) OpenSSL/1.0.2g configured -- resuming normal 
operations
[Tue Nov 14 13:04:05.499241 2017] [core:notice] [pid 2132] AH00094: Command 
line: '/usr/sbin/apache2'

Затем я попробовал CertBot, но единственное, что получил:

 Server only speaks HTTP, not TLS

Даже когда я удаляю прослушивание порта 80 в файле виртуального хоста.

Как исправить ошибку протокола ssl?

Похоже, вы установили не тот файл в качестве сертификата сервера. Вы можете прочитать содержимое сертификата с помощью openssl x509 -in server.crt -text. (Если это не в pem формат, который вам нужно поиграть с параметром -inform.)

Проверьте свои server.crt и дополнительные файлы, которые вы могли получить от центра сертификации. Правильный сертификат должен указывать vpn.test.nl так как Альтернативное имя субъекта и / или как CN. (В настоящее время сертификаты всегда должны содержать Альтернативное имя субъекта.)

Если вы проверяете правильный файл, должна появиться одна из следующих строк:

    ...
    Subject: CN=vpn.test.nl
    ...
    X509v3 extensions:
        X509v3 Subject Alternative Name: 
            DNS:vpn.test.nl
    ...

PS: Вам следует отредактировать свой вопрос и удалить свое настоящее доменное имя ... даже из журналов.