Краткая справка по переключению Nginx сайта на HTTPS

Категория: Nginx

Переключаем сайт на защищенный HTTPS протокол. Получение и управление SSL сертификатами от Lets Encrypt на Ubuntu 18.04.

Подробное руководство/инструкция хорошо описано в блоге DigitalOcean - https://www.digitalocean.com/community/tutorials/nginx-let-s-encrypt-ubuntu-18-04-ru

Я оставлю примечания..

Установка сертификата для нового сайта:

sudo certbot --nginx -d ikino.club
## или:
sudo certbot --nginx -d ikino.club -d www.ikino.club
Примечание

Если вы планируете редиректить www.site.com на site.com - не обязательно генерировать сертификат для домена www.site.com.

Чтобы перенаправить www на non-www проверьте конфиг /etc/nginx/sites-available/ikino.club.conf, и на всякий проверьте конфиг /etc/nginx/sites-enabled/default.conf (да, именно sites-enabled/default).

Пример nginx конфигурации для перенаправления http://www. и https://www. на https://site.com:

server {
    listen 80;
    server_name site.com www.site.com;
    
    if ($host = site.com) {
        return 301 https://$host$request_uri;
    } # managed by Certbot

    if ($host = www.site.com) {
        return 301 https://site.com$request_uri;
    }
    
    return 404; # managed by Certbot
}

server {
    server_name site.com www.site.com;
    root        /var/www/site.com/public/;
    index       index.html index.php;

    if ($host = www.site.com) {
        return 301 https://site.com$request_uri;
    }
    
    listen 443 ssl; # managed by Certbot
    ssl_certificate /etc/letsencrypt/live/site.com/fullchain.pem; # managed by Certbot
    ssl_certificate_key /etc/letsencrypt/live/site.com/privkey.pem; # managed by Certbot
    include /etc/letsencrypt/options-ssl-nginx.conf; # managed by Certbot
    ssl_dhparam /etc/letsencrypt/ssl-dhparams.pem; # managed by Certbot

    // ... ваша дополнительная конфигурация
}


Примечание

Если что-то пошло не так, попробуйте сгенерировать сертификаты без активации nginx-плагина (без параметра --nginx):

sudo certbot certonly --webroot -w /var/www/ikino.club -d ikino.club -d www.ikino.club

*Сертификаты и ключи будут скопированы в /etc/letsencrypt/live/site.com/.

Удалить сертификат:

sudo certbot delete --cert-name site.com

#https, #ssl, #lets encrypt

категория: Nginx