Skip to main content

Безкоштовний SSL сертифікат від L'ets Encrypt на Debian



Масовий перехід сайтів на роботу по зашифрованому протоколу день за днем ​​набирає обертів. І якщо раніше робота з сертифікатами представляла собою досить рутинну задачу, то сьогодні можна запросто і безкоштовно отримати сертифікат з базової перевіркою приналежності власнику.

І в цьому нам допоможе класний сервіс Let's Encrypt . Цей центр сертифікації почав працювати в бета-режимі з 3 грудня 2015 року. І за цей час число його користувачів зростає.



Let's Encrypt видає сертифікати з терміном дії, рівним 90 дням. При цьому, оновлення сертифікатів повністю автоматизовано. На даний момент в Debian зі сховищ backports можна встановити пакет certbot, який забезпечує легке отримання сертифікатів і їх автоматичне оновлення, що виконується два рази на добу по крону.

В першу чергу підключаємо репозиторій backports . зі свіжою версією nginx, зібраної з підтримкою ALPN.

А слідом встановити certbot:


  aptitude install -t jessie-backports certbot 

Зміст статті:

Отримуємо сертифікат для Nginx

Щоб отримати сертифікат для цього веб-сервера, буде використовуватися плагін «webroot» , який підходить для використання з будь-яким сервером. Навіть якщо це lighttpd.

Команда для отримання сертифіката виглядає так:

  certbot certonly --webroot -w /var/www/example.com -d example.com -d www.example.com 

Тут після ключа -w вказуємо повний шлях до каталогу з сайтом на сервері. Після ключа -d ім'я домену, для якого потрібно отримати сертифікат. Одночасно можна отримати сертифікати на п'ять доменів. Не забудьте вказати домен з www і без. ;)



Папка з сайтом повинна існувати і бути доступною з інтернету, щоб certbot міг підтвердити приналежність сайту і його коректну роботу.

Отримані сертифікати слід шукати в каталозі /etc/letsencrypt/live/yourdomain.com/. Як сертифіката в конфіги сервера потрібно прописати файл fullchain.pem, а в якості ключа - privkey.pem. приклад:

  ssl_certificate /etc/letsencrypt/live/yourdomain.com/fullchain.pem;
 ssl_certificate_key /etc/letsencrypt/live/yourdomain.com/privkey.pem; 

А що щодо Apache?

Для нього теж можна отримати сертифікат. Годиться як вище описаний метод, так і спеціально задуманий плагін для apache. Тільки в цьому випадку доведеться встановити інший пакет.

  aptitude install -t jessie-backports python-certbot-apache 

А сам сертифікат встановлюється більш простою командою:

  certbot --apache 

Або, якщо ви хочете вручну налаштувати apache:

  certbot --apache certonly 

Природно, сайт і в цьому випадку повинен бути вже налаштований. На жаль, свій досвід використання certbot для apache я не зможу описати, так як давно не користуюся цим веб-сервером. Тому, рекомендую прочитати офіційну документацію англійською.

Аналогічно nginx, шлях до сертифікатів і ключу слід прописати в файлі конфігурації віртуального хоста.

  SSLCertificateFile "/etc/letsencrypt/live/yourdomain.com/fullchain.pem"
 SSLCertificateKeyFile "/etc/letsencrypt/live/yourdomain.com/privkey.pem" 

Автоматичне оновлення сертифікатів по крону

Як уже згадувалося раніше, при установці створюється завдання на оновлення в каталозі /etc/cron.d/certbot, що виконується двічі на добу. Вміст завдання таке:

  0 * / 12 * * * root test -x / usr / bin / certbot && perl -e 'sleep int (rand (3600))' && certbot -q renew 

При цьому, вся робота certbot записується і його логи ви можете знайти в каталозі / var / log / letsencrypt /. Це може допомогти, якщо у вас виникнуть проблеми. Однак, зі свого досвіду можу зауважити, що такі не виникали, поки що. :)



Як ви оціните статтю?
Звёзд: 1Звёзд: 2Звёзд: 3Звёзд: 4Звёзд: 5 (1 оцінок, середнє: 5,00 з 5)
Завантаження ...

” Коментар "Безкоштовний SSL сертифікат від L'ets Encrypt на Debian"

Додати коментар

Ваш e-mail не буде опублікований.