Инструменты пользователя

Инструменты сайта


create-locally-trusted-ssl-certificates

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

Обсуждение

Ваш комментарий. Вики-синтаксис разрешён:
 ______  ____   ___   _____   ___ 
/_  __/ /_  /  / _ \ / ___/  / _ \
 / /     / /_ / ___// (_ /  / ___/
/_/     /___//_/    \___/  /_/
 
create-locally-trusted-ssl-certificates.txt · Последние изменения: 2019/02/14 14:24 — admin