====== Создание локального самоподписного сертификата с доверием браузеров 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) и они будут доверять вашему локальному сайту. {{::снимок_экрана_от_2019-02-14_14-22-30.png?nolink|}}