Как установить SSL-сертификат Let's Encrypt на nginx

Как установить SSL-сертификат Let's Encrypt на nginx

Мар 29, 2019 ssl ssl certificate nginx lets encrypt knowledge base

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

Read in other languages:

EN TR DA DE ES FR IT HU NL NB PL PT RO FI SV UZ CS EL BG ZH-HANS