1С Бітрікс Блог
Як отримати та інсталювати безкоштовного SSL сертифікату Let's Encrypt на 1C-Бітрікс: Віртуальна машина для nginx
Що дає нам SSL сертифікат? SSL сертифікат дозволяє нам використовувати HTTPS протокол, що в свою чергу гарантує, що інформація, передана між браузером і сервером залишиться конфіденційною
Існує кілька типів SSL сертифікатів: платні і безкоштовні, з підтвердженням даних про організацію і без і т.д. Відмінність безкоштовних сертифікатів в тому, що вони зазвичай даються на коротких термін їх потрібно продовжувати вручну або автоматично, і ніхто не гарантує, що завтра не доведеться шукати новий сервіс, який видасть вам сертифікат.
Одним з популярних центрів безкоштовної сертифікації є Let's Encrypt. Основними спонсорами проекту є Electronic Frontier Foundation (EFF), Mozilla Foundation, Akamai, Cisco Systems. Тому цей сервіс виглядає більш надійним ніж інші.
Для того, що встановити SSL сертифікат на 1C-Бітрікс: Віртуальна машина необхідний shell доступ до сервера і початкові навички адміністрування linux. Установка відбувається в автоматичному режимі, але потрібно прописати пару конфігов для nginx і пару раз перезавантажити його.
На сайті Let's Encrypt є докладна інструкція по установці SSL сертифікату. Але установка SSL сертифікату на 1C-Бітрікс: Віртуальна машина трохи відрізняється тим, що в налаштуваннях nginx використовується подrлюченіе окремого конфіга для налаштувань SSL.
Перед установкою рекомендую зробити резервну копію сайту, для того, щоб можна було швидко відновити працездатність сайту.
Для установки SSL сертифікату Let's Encrypt рекомендує встановити Certbot. На сайті Certbot є докладна інструкція по установці на різні операційні системи і веб-сервери. Перейдіть на сайт Certbot і виберіть вашу операційну систему і веб-сервер. У моєму випадку це CentOS 6 і nginx.
Запускаємо SSH клієнт, я зазвичай використовую PuTTY, і підключаємося до сервера.
Вводимо логін і пароль від користувача з максимальними адміністративними правами або від root, якщо ви не створювали додаткового користувача.
Натискаємо Ctrl + C для того, щоб вийти з меню 1C-Бітрікс: Віртуальна машина. Обов'язково обновляємося. Для цього набираємо yum update і погоджуємося з оновленнями.
Далі переходимо в папку / usr / local / sbin:
і викачуємо скрипт для автоматичної установки Certbot:
встановлюємо права для виконання скрипта:
Запускаємо оновлення Certbot:
Certbot встановить залежності і запропонувати отримати сертифікат для зазначеного вами домену. Натискає скасування "c".
Запускаємо отримання сертифікату для nginx:
Вибираємо потрібний домен. Отримання SSL сертифіката відбудеться автоматично.
Залишається тільки підправити конфиг nginx і додати завдання в cron для автоматичного продовження СЕРТФІКАТА.
За замовчуванням конфігураційний файл nginx для SSL називається bx_ext_ssl_імя_домена.conf. У ньому підключається конфігураційний файл з настройками SSL:
При подальшому оновленні 1C-Бітрікс: Віртуальна машина ваші зміни можуть піти. Тому скопіюємо файл ssl.conf і перейменуємо його у ssl.імя_домена.conf. Підключення цього файлу буде виглядати так:
У файлі ssl.імя_домена.conf змінимо рядки:
Для того, щоб підвищити рівень безпеки сертифіката сгенерируем групу Діффі-Хеллмана:
І додамо ці рядки перед підключенням сертифіката:
Залишається тільки в меню віртуальної машини переключити сайт на використання тільки HTTPS і перевірити, чи не коштувати чи обмеження в роботі сайту в проактивного захисту. А потім перезавантажити nginx