Как создать локально доверенные SSL-сертификаты с помощью mkcert в Ubuntu 20.04
На этой странице
- Предпосылки
- Начало работы
- Установить Mkcert
- Создать локальный ЦС
- Создание сертификата для локального веб-сайта
- Настройте Nginx для использования сгенерированного сертификата
- Подтвердите SSL для своего домена
- Заключение
Mkcert — это бесплатный, простой и очень полезный инструмент, позволяющий создать локально доверенный сертификат, не покупая его у настоящего ЦС. Разработчики обычно работают в локальной системе и всегда невозможно использовать доверенный сертификат от CA на локальном хосте. Mkcert позволяет без проблем управлять собственными сертификатами.
В этом посте мы покажем вам, как создать доверенный SSL-сертификат для локальной разработки с помощью Mkcert в Ubuntu 20.04.
Предпосылки
- Система под управлением Ubuntu 20.04 Desktop.
- На сервере настроен пароль root.
Начиная
Сначала обновите системные пакеты до обновленной версии, выполнив следующую команду:
apt-get update -y
Как только все пакеты будут обновлены, вы можете перейти к следующему шагу.
Установить Мксерт
Перед установкой утилиты Mkcert вам необходимо установить на сервер необходимые пакеты. Вы можете установить его с помощью следующей команды:
apt-get install wget libnss3-tools
После установки всех пакетов загрузите последнюю версию Mkcert с Github.
wget https://github.com/FiloSottile/mkcert/releases/download/v1.4.3/mkcert-v1.4.3-linux-amd64
После загрузки Mkcert переместите загруженный бинарник в системный путь:
mv mkcert-v1.4.3-linux-amd64 /usr/bin/mkcert
Затем установите разрешение на выполнение для mkcert:
chmod +x /usr/bin/mkcert
Затем проверьте версию Mkcert с помощью следующей команды:
mkcert --version
Вы должны увидеть следующий вывод:
v1.4.3
Создать локальный ЦС
Теперь выполните следующую команду, чтобы сгенерировать локальный сертификат ЦС:
mkcert -install
Вы должны увидеть следующий вывод:
Created a new local CA ???? 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)! ????
Вы можете проверить путь к сертификату ЦС, используя следующую команду:
mkcert -CAROOT
Вы должны увидеть следующий вывод:
/root/.local/share/mkcert
Создайте сертификат для локального веб-сайта
Затем вы можете сгенерировать сертификат и файл ключа для локального веб-сайта, используя следующую команду:
mkcert app.example.com localhost 127.0.0.1 ::1
Вы должны увидеть следующий вывод:
Created a new certificate valid for the following names ???? - "app.example.com" - "localhost" - "127.0.0.1" - "::1" The certificate is at "./app.example.com+3.pem" and the key at "./app.example.com+3-key.pem" ? It will expire on 1 November 2023 ????
Настройте Nginx для использования сгенерированного сертификата
Далее вам нужно будет настроить веб-сервер Nginx для использования сгенерированных сертификатов.
Сначала скопируйте сгенерированные файлы сертификатов в каталог /etc/ssl/:
cp app.example.com+3* /etc/ssl/
Затем установите правильное право собственности на корневой веб-каталог Nginx:
chown -R www-data:www-data /var/www/html/
Затем создайте файл конфигурации виртуального хоста Nginx с помощью следующей команды:
nano /etc/nginx/conf.d/app.conf
Добавьте следующие строки:
server { listen 80; server_name app.example.com; root /var/www/html; } server { listen *:443 ssl; root /var/www/html; server_name app.example.com; ssl_certificate /etc/ssl/app.example.com+3.pem; ssl_certificate_key /etc/ssl/app.example.com+3-key.pem; }
Сохраните и закройте файл, когда закончите, затем проверьте Nginx на наличие синтаксической ошибки:
nginx -t
Вы должны увидеть следующий вывод:
nginx: the configuration file /etc/nginx/nginx.conf syntax is ok nginx: configuration file /etc/nginx/nginx.conf test is successful
Затем перезапустите службу Nginx, чтобы применить изменения:
systemctl restart nginx
Затем отредактируйте файл /etc/hosts и привяжите ваш app.example.com к IP-адресу вашей системы:
nano /etc/hosts
Добавьте следующие строки:
your-server-ip app.example.com
Подтвердите SSL для вашего домена
Теперь откройте веб-браузер и введите URL-адрес https://app.example.com. Вы должны увидеть, что ваш домен защищен Mkcert.
Теперь нажмите на значок блокировки. Вы должны увидеть информацию о вашем сертификате на следующей странице:
Заключение
Поздравляем! вы успешно установили Mkcert и создали доверенный сертификат ЦС для своей локальной разработки. Я бы рекомендовал использовать Mkcert только для среды разработки. Не рекомендуется для производственной среды.