Игнорирование самозаверяющего сертификата в apache

#apache #ssl #https #certificate #self-signed

#apache #ssl #https #сертификат #самозаверяющий

Вопрос:

Основная идея заключается в том, что я хочу обновить свою реальную веб-страницу до https, но она находится в производстве, и я хочу выполнить это обновление на своем локальном сервере, чтобы убедиться, что он работает правильно, и после этого перенести все изменения в производство. Итак, я пытаюсь создать локальный веб-сайт https, но мой браузер Google Chrome выдает ошибку. Я написал эти команды в своем терминале Linux для создания самозаверяющего сертификата

     sudo openssl req -new -sha256 -out new.ssl.csr
    sudo openssl rsa -in privkey.pem -out new.cert.key
    sudo openssl x509 -in new.ssl.csr -out new.cert.cert -req -signkey new.cert.key -days 256
    sudo cp new.cert.cert /etc/ssl/certs/server.crt
    sudo cp new.cert.key /etc/ssl/private/server.key  

И я изменил файл конфигурации своего хоста следующим образом

 
    VirtualHost *:80
        ServerName localsite
        DocumentRoot /var/www/localsite

        ErrorLog ${APACHE_LOG_DIR}/localsite_error.log
        CustomLog ${APACHE_LOG_DIR}/localsite_access.log combined
    VirtualHost

    VirtualHost *:443
        ServerAdmin asdasdasd@asd.asd
        ServerName localsite.local
        DocumentRoot /var/www/localsite

        ErrorLog ${APACHE_LOG_DIR}/localsite_error.log
        CustomLog ${APACHE_LOG_DIR}/localsite_access.log combined

        SSLEngine on
        SSLOptions  StrictRequire
        SSLCertificateFile /etc/ssl/certs/server.crt
        SSLCertificateKeyFile /etc/ssl/private/server.key
    VirtualHost
  
     sudo service apache2 restart  

И после этого я экспортирую сертификат из своего файла и импортирую его в Google Chrome, и все еще возникает ERR_CERT_AUTHORITY_INVALID ошибка. Что я делаю не так?

Ответ №1:

Я использовал это руководство для создания самозаверяющего сертификата. Похоже на то, что вы сделали для его создания.

Я забыл заполнить Common Name (e.g. server FQDN or YOUR name) . Вы можете оставить все поля пустыми, но на этот вопрос следует ответить. В вашем примере это должно быть localsite.local .

После создания вашего сертификата загрузите его chrome://settings/certificates , и блокировка станет зеленой.

Ответ №2:

Если вы используете самозаверяющий сертификат, браузеры будут предупреждать вас об ошибке, подобной этой.

Поэтому вам следует использовать сертификат, подписанный известными органами. Я когда-либо использовал letsencrypt.

Для этого вам сначала следует приобрести собственное доменное имя для своего сайта.

Комментарии:

1. Нет необходимости иметь авторизованный сертификат для (локальной) разработки.