На виртуальной машине Oracle VM VirtualBox установлен пакет LEMP (Debian 12.4, Nginx, MySQL/Mariadb, PHP 8.2).
Имя web-ресурса: ae-eco.local, для него и будем настраивать сертификат.
1. Обновляем пакеты GNU\Linux:
# apt-get update && apt-get upgrade
2. Создаем каталог для хранения сертификатов и переходим в него:
# mkdir /etc/nginx/ssl && cd /etc/nginx/ssl
3. Генерируем файлы сертификата и ключа:
openssl req -x509 -nodes -days 3650 -newkey rsa:2048 -keyout ae-eco.key -out ae-eco.crt
При генерации сертификата на вопросы отвечаем как считаем нужным, в моём случае:
Country Name (2 letter code) [AU]:RU
State or Province Name (full name) [Some-State]:Astrakhan
Locality Name (eg, city) []:Astrakhan
Organization Name (eg, company) [Internet Widgits Pty Ltd]:Private
Organizational Unit Name (eg, section) []:Private
Common Name (e.g. server FQDN or YOUR name) []:ae-eco.local
Email Address []:admin@ae-eco.local
4. В настройке сервера Nginx указываем следующее:
server {
...
listen 443 ssl http2;
ssl_certificate /etc/nginx/ssl/ae-eco.crt;
ssl_certificate_key /etc/nginx/ssl/ae-eco.key;
...
}
5. Для переадресации со схемы http на https добавляем:
server {
...
if ($scheme != "https") {
return 301 https://$host$request_uri;
}
...
}
6. Проверяем конфигурацию Nginx:
# nginx -t
или
# nginx -T
7. Перезапускаем Nginx:
# systemctl restart nginx