#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. Нет необходимости иметь авторизованный сертификат для (локальной) разработки.