вторник, 15 ноября 2016 г.

LetsEncrypt с параметром webroot и обновление сертификатов

"Полуавтоматический режим" (конфигурацию веб-сервера выполняем самостоятельно):
sudo letsencrypt certonly --webroot -w /var/www/domain1/root/ -d domain1 -d www.domain1 -w /var/www/domain2/root/ -d domain2 -d www.domain2 -d m.domain2 # default location of new certificates (output from the script): /etc/letsencrypt/live/domain/

Этот же путь к сертификатам прописан в конфиге nginx: в /etc/nginx/sites-available/domain:
server {
...
    ssl_certificate /etc/letsencrypt/live/domain/fullchain.pem;
    ssl_certificate_key /etc/letsencrypt/live/domain/privkey.pem;
...
}

Обновление сертификатов (доступно после первой установки):
sudo letsencrypt renew [--force-renewal] [--agree-tos]
можно прописать в кроне как ежемесячную задачу ( чаще обновлять не рекомендуется )

Не забываем перезапустить nginx после внесения изменений в конфиг!
sudo service nginx restart

вторник, 6 сентября 2016 г.

Установка SSL сертификата Let's Encrypt на nginx вручную

  1. Ставим letsencrypt:
    $ sudo apt-get install letsencrypt
  2. Получаем сертификат и ключи:
    $ sudo letsencrypt certonly --manual -d domain1 -d domain2
  3. Следуем инструкции. Для каждого домена нужно иметь на сервере файл по адресу типа http://domain1/.well-known/acme-challenge/Ce0jP4l5BJ4vqBZTGLVGn2o0genuzkvV3nUSjgw2a-8 с нужным содержимым (необходимо для подтверждения домена) - создаём этот файл
  4. Сгенерированные сертификат и приватный ключ лежат здесь:
    /etc/letsencrypt/live/domain1/fullchain.pem
    /etc/letsencrypt/live/domain1/privkey.pem
  5. Настраиваем nginx для работы со сгенеренным сертификатом
    $ sudo vim /etc/nginx/sites-enabled/sitename

    # добавляем 443 порт для https и прописываем путь к сертификату/ключу
    server {
        listen 80;
        listen 443 ssl;

        servername domain1 domain2;

        ssl_certificate /etc/letsencrypt/live/domain1/fullchain.pem;
        ssl_certificate_key /etc/letsencrypt/live/domain1/privkey.pem;

        .... # остальное без изменений
    }
  6. Перезапускаем сервер
    $ sudo /etc/init.d/nginx restart
  7. ???????
  8. PROFIT!

Ссылки