Создание локального самоподписного сертификата с доверием браузеров Ubuntu 18 / Debian 8/9
Установка нужного софта, выполнять с правами root
Сначала вам необходимо установить certutil , утилиту командной строки, которая может создавать и изменять базы данных сертификатов и ключей, прежде чем вы сможете установить утилиту mkcert.
apt install libnss3-tools -y
Установка пакета mkcert
После установки certutil загрузите двоичный файл mkcert с Github и установите его:
wget https://github.com/FiloSottile/mkcert/releases/download/v1.1.2/mkcert-v1.1.2-linux-amd64
mv mkcert-v1.1.2-linux-amd64 mkcert
chmod +x mkcert
cp mkcert /usr/local/bin/
Создать локальный CA
Теперь, когда утилита mkcert установлена, выполните команду, чтобы сгенерировать локальный CA.
mkcert -install
примерный вывод
Created a new local CA at "/home/user/.local/share/mkcert" 💥
The local CA is now installed in the system trust store! ⚡️
The local CA is now installed in the Firefox and/or Chrome/Chromium trust store (requires browser restart)! 🦊
Корневой CA хранится в /home/user/.local/share/mkcert . Вы можете найти путь к корневому центру сертификации, выполнив команду.
$ mkcert -CAROOT
/home/amos/.local/share/mkcert
Генерация локальных сертификатов SSL
Теперь, когда у вас есть локальный центр сертификации, выполните команду ниже, чтобы сгенерировать локальные сертификаты SSL.
mkcert example.com '* .example.com' localhost 127.0.0.1 :: 1
примерный вывод
Using the local CA at "/home/user/.local/share/mkcert" ✨
Created a new certificate valid for the following names ?
- "example.com"
- "*.example.com"
- "localhost"
- "127.0.0.1"
- "::1"
The certificate is at "./example.com+4.pem" and the key at "./example.com+4-key.pem" ✅
где example.com — это название вашего локального хоста
Включить сертификаты для веб-сервера Nginx
Создайте свою конфигурацию хоста, как показано ниже.
server {
listen 80;
listen 443 ssl;
ssl on;
ssl_certificate /home/amos/example.com+4.pem;
ssl_certificate_key /home/amos/example.com+4-key.pem;
server_name example.com;
location / {
root /var/www/html/example;
index index.html;
}
}
Перезапустите nginx
systemctl restart nginx
Включить сертификаты для веб-сервера Apache
Чтобы настроить Apache для использования этих сертификатов, отредактируйте файл конфигурации ssl по умолчанию, /etc/apache2/sites-available/default-ssl.conf, и измените строки сертификата SSL и ключа так, чтобы он указывал на локально созданный файл сертификата и ключа.
# nano /etc/apache2/sites-available/default-ssl.conf
...
SSLCertificateFile /home/amos/example.com+4.pem
SSLCertificateKeyFile /home/amos/example.com+4-key.pem
...
Разрешите Apache использовать SSL, загрузив модули ssl;
# a2enmod ssl
# a2ensite default-ssl.conf
Перезапустите Apache, чтобы активировать новую конфигурацию
# systemctl перезагрузить apache2
# systemctl перезагрузить apache
Все, после этого можно перезагрузить ваш браузер (Firefox, Chrome) и они будут доверять вашему локальному сайту.
Ваш комментарий. Вики-синтаксис разрешён:
Пожалуйста, введите код подтверждения, чтобы доказать, что вы не робот:
_____ __ ___ ____ _____ _ __
/ ___/ / |/ / /_ / / ___/ | | / /
/ (_ / / /|_/ / / /_/ /__ | |/ /
___/ /_/ /_/ /___/___/ |___/
Подписаться на комментарии