Как установить SSL-сертификат Let's Encrypt на nginx
NameOcean бесплатно выдает wildcard-сертификаты Let's Encrypt прямо в панели управления. Никаких команд certbot в терминале — всё делается в пару кликов. Подробный гайд по получению SSL на NameOcean: https://nameocean.net/article/how-create-free-ssl-nameocean/
Теперь настроим эти сертификаты на Nginx.
Шаг 1
Скачайте сертификат из панели NameOcean.

Шаг 2
Разархивируйте ZIP-файл. Внутри будут такие файлы.

Шаг 3
Перекиньте файлы на сервер. Подойдет FTP, SFTP или scp. Я использую scp:
scp -r ~/Downloads/example.com 45.76.91.165:/root/
Папка example.com окажется в /root/ на сервере.
Или скачайте архив прямо на сервер. Кликните правой кнопкой на "Download Certificate", скопируйте ссылку. Она выглядит примерно так:
https://minio.yuix.org/nameocean/ua4d3b6338c0a90a64828df4e65ff551c/example.com.zip
Скачайте и разархивируйте одной командой:
wget https://minio.yuix.org/nameocean/ua4d3b6338c0a90a64828df4e65ff551c/example.com.zip unzip example.com.zip
Сертификаты на месте.
Шаг 4
Настройте Nginx.
server {
listen 80;
server_name example.com www.example.com;
location / {
access_log off;
log_not_found off;
return 301 https://$host$request_uri;
}
}
server {
listen 443 ssl;
server_name example.com www.example.com;
ssl_certificate /root/example.com/fullchain.pem;
ssl_certificate_key /root/example.com/privkey.pem;
root /path/to/mywebsite/;
}
Первый блок перенаправляет все HTTP-запросы на HTTPS.
Второй — основной, раздает сайт по HTTPS. Добавьте свои настройки для PHP или Python, если нужно. Спрашивайте в комментариях.
Перезагрузите Nginx:
service nginx reload