Содержание
Создание локального самоподписного сертификата с доверием браузеров 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) и они будут доверять вашему локальному сайту.
Обсуждение