Покрокове керівництво по впровадженню сертифіката TLS Let’s Encrypt у Nginx.
Забезпечення сайту сертифікатом TLS є важливим. Є дві основні причини:
- Безпечна передача даних між пристроєм користувача на розвантажувальний пристрій SSL / TLS
- Поліпшення рейтингу пошуку Google
Останнім часом Google оголосив цей веб-сайт без https: // буде позначений як “Не захищено” в браузері Chrome.
Так що так, скажіть ТАК HTTPS.
Якщо ви ведете блог, особистий сайт, не членство, нефінансовий сайт транзакцій, тоді ви можете отримати сертифікат Let’s Encrypt.
Давайте шифруємо пропозицію БЕЗКОШТОВНИЙ сертифікат.
Однак якщо ви приймаєте фінансову операцію, можливо, ви захочете скористатися комерційний сертифікат.
Давайте реалізуємо TLS у Nginx…
Я припускаю, що у вас вже встановлено і працює Nginx, якщо не звертатися до цього посібника з установки.
Існує кілька способів зробити це.
Давайте шифруємо за допомогою Certbot
Один з найпростіших і рекомендованих способів його встановлення.
Сертбот пропонує спадне меню, де ви можете вибрати веб-сервер та ОС, щоб отримати інструкцію.
Я вибрав Nginx та Ubuntu, як ви бачите нижче.
І я виконаю нижче на сервері Nginx, щоб встановити плагін certbot.
# apt – отримати встановлення програм-властивостей-загальних
# add-apt-repository ppa: certbot / certbot
# apt – отримати оновлення
# apt-get встановити python-certbot-nginx
Як тільки все нормально, саме час використовувати плагін certbot для встановлення сертифіката в Nginx.
Ви можете скористатися командою нижче, яка допоможе змінити необхідний файл для налаштування сертифіката.
# certbot –nginx
Він перевірить CN (загальне ім’я) у існуючому файлі конфігурації Nginx, і він не знайдеться, то він запропонує ввести.
Наприклад:
[захищено електронною поштою]: / etc / nginx / доступні сайти # certbot –nginx
Збереження журналу налагодження у /var/log/letsencrypt/letsencrypt.log
Вибрані плагіни: Authenticator nginx, Installer nginx
Запуск нового HTTPS-з’єднання (1): acme-v01.api.letsencrypt.org
У ваших файлах конфігурації не знайдено імен. Будь ласка, введіть у своєму домені
найменування (розділені комою та / або пробілом) (введіть “c” для скасування): bloggerflare.com
Отримання нового сертифіката
Виконання таких завдань:
http-01 виклик для bloggerflare.com
Чекаємо на підтвердження…
Прибирання викликів
Розгорнутий сертифікат на VirtualHost / тощо / nginx / сайти з увімкненою / за замовчуванням для bloggerflare.com
Будь ласка, виберіть, чи слід перенаправляти трафік HTTP на HTTPS, видаляючи доступ HTTP.
——————————————————————————-
1: Без переадресації – Не вносити жодних змін у конфігурацію веб-сервера.
2: Переадресація – Зробіть переадресацію всіх запитів для захисту доступу до HTTPS. Виберіть це для
нових сайтів або якщо ви впевнені, що ваш сайт працює на HTTPS. Ви можете скасувати це
змінити, відредагувавши конфігурацію веб-сервера.
——————————————————————————-
Виберіть відповідне число [1-2], потім [Enter] (натисніть “c”, щоб скасувати): 2
Перенаправлення всього трафіку на порт 80 на ssl в / etc / nginx / sites-enable / default
——————————————————————————-
Вітаємо! Ви успішно ввімкнули https://bloggerflare.com
Ви повинні перевірити свою конфігурацію на:
https://www.ssllabs.com/ssltest/analyze.html?d=bloggerflare.com
——————————————————————————-
ВАЖЛИВІ ПРИМІТКИ:
– Вітаємо! Ваш сертифікат та ланцюжок збережено за адресою:
/etc/letsencrypt/live/bloggerflare.com/fullchain.pem
Ваш ключовий файл збережено за адресою:
/etc/letsencrypt/live/bloggerflare.com/privkey.pem
Термін дії вашої сертифікати закінчується 2018-05-27. Для отримання нового або підправленого
Версія цього сертифікату в майбутньому просто запустіть certbot ще раз
з "certonly" варіант. Неінтерактивне оновлення * all * of
ваші сертифікати, запустіть "certbot поновити"
– Якщо вам подобається Сертбот, будь ласка, подумайте про підтримку нашої роботи:
Пожертвування для ISRG / Let’s Encrypt: https://letsencrypt.org/donate
Пожертвування на EFF: https://eff.org/donate-le
[захищено електронною поштою]: / і т.д. / nginx / доступні сайти #
Автоматизація Certbot є розумний!
Як ви бачите, він подбав про всю необхідну конфігурацію, щоб зробити мій Nginx готовим до обслуговування через https.
Однак якщо ви не хочете, щоб Certbot змінював для вас конфігурацію, ви можете просто подати заявку нижче.
# certbot –nginx certonly
Наведена вище команда не виконає жодних модифікацій, а лише надасть вам сертифікат, щоб ви могли налаштувати так, як вам потрібно.
Але що робити, якщо ви не можете чи не хочете використовувати Certbot?
Ручний порядок
Існує багато способів отримати сертифікат, виданий Let’s Encrypt, але один із рекомендованих – від SSL безкоштовно онлайн-інструмент.
Вкажіть свою URL-адресу та перейдіть до способу підтвердження. Після перевірки ви отримаєте сертифікат, приватний ключ та ЦА.
Завантажте їх та перенесіть на сервер Nginx. Давайте збережемо їх у папці ssl (створимо, якщо її немає) шляху встановлення Nginx
[захищено електронною поштою]: / etc / nginx / ssl # ls -ltr
-rw-r – r– 1 корінь кореня 1704 26 лютого 10:04 private.key
-rw-r – r– 1 корінь кореня 1647 26 лютого 10:04 ca_bundle.crt
-rw-r – r– 1 корінь кореня 3478 26 лютого 10:57 сертифікат.crt
[захищено електронною поштою]: / etc / nginx / ssl #
Перш ніж перейти до зміни конфігурації, потрібно об’єднати сертифікати.crt і ca_bundle.crt в один файл. Давайте назвемо це tlscert.crt
котячий сертифікат.crt ca_bundle.crt >> tlscert.crt
- Перейдіть у доступну папку для сайтів та додайте наступне у відповідний файл конфігурації сайту
сервер {
слухати 443;
ssl на;
ssl_certificate /etc/nginx/ssl/tlscert.crt;
ssl_certificate_key /etc/nginx/ssl/private.key;
}
- Перезапустіть Nginx
перезапуск служби nginx
Спробуйте отримати доступ до відповідного домену через HTTPS
Отже, ось ви йдете, це успіх!
Далі ви можете перевірити свій сайт на наявність вразливості SSL / TLS і виправити їх, якщо вони знайдені.
Я сподіваюся, що це вам допоможе. Якщо ви зацікавлені в вивченні Nginx, я б рекомендував взяти це онлайн-курс.