Данный мануал предназначен для настройки сайтов, работающих чере CloudFlare.
Если сайт работает через CloudFlare в режиме DNS proxied ( - иконка оранжевого облака в настройках DNS сайта), то необходимо два сертификата SSL для успешного соединения:
1. Посетитель <-> сервер CloudFlare - выдается CloudFlare автоматически.
2. Сервера CloudFlare <-> ваш сервер - должен настроить пользователь.
Обычно, для второго сертификата (сервера CloudFlare <-> ваш сервер) удобно пользоваться сертификатом LetsEncrypt, так как он бесплатный и легко получается с помощью автоматических скриптов, а также его принимают браузеры. Однако, у такого сертификата есть некоторые недостатки. Во-первых, он выдается только на три месяца. Через три месяца нужно проверить, удачно ли выдан сертификат. Во-вторых, для его получения нужно подтверждение домена. Если это делается через TXT-запись в настройках DNS на CloudFlare, то каждые три месяца нужно отлючить в настройках DNS режим проксирования ( - иконка серого облака в настройках DNS сайта) на момент подтверждения домена и получения сертификата. Если этого не сделать, процесс получения сертификата закончится блокировкой запросов на серверах LetsEncrypt сначала на 1 час, потом на 1 сутки и т.д. Это неудобно.
CloudFlare предлагает бесплатные сертификаты от Google Trust Services LLC для настройки SSL соединения сервера CloudFlare <-> ваш сервер со сроком валидности до 15 лет. Сертификат по умолчанию можно использовать для всех поддоменов, то есть он wildcard. Сертификаты выдаются в неограниченном количестве, но нужно настроить их вручную один раз для каждого уникального домена (и всех его поддоменов) на вашем сервере, для которого выдан такой сертификат. Такие сертификаты действительны только для соединения сервера CloudFlare <-> ваш сервер и не будут приняты браузером, если вы отключите режим проксирования в настройках DNS ( - иконка оранжевого облака в настройках DNS сайта) и отключите в панели управления доменом на CloudFlare режим Full (strict) в настрйоках SSL/TLS соединения. Но обо всём по порядку.
Рассмотрим процесс получения сертификата, процесс настройки параметров на CloudFlare, установки сертификата на вашем сервере (чтобы всё работало)
1. В разделе домена SSL/TLS -> Origin Server получить сертификаты для вашего домена (допустим, ваш домен имеет название mynicesite.ru). Оставьте *.mynicesite.ru, если используете www на своем сайте или другие поддомены. Скопируйте полученные данные Origin Сertifiсate и Private Key в блокнот, так как данные приватного ключа будут недоступны после закрытия страницы в браузере.
Если на вашем сервер используется ISP Manager 5 или ISP Manager 6, переходите к п. 4, минуя пп. 2-3.
2. Сохраните данные Origin Certificate, полученные в п. 1, в файл mynicesite.ru.crt. Сохраните данные Private Key в файл mynicesite.ru.key. Загрузите оба файл в хранилище сертификатов на вашем сервере по протоколу sftp под пользователем root и присвойте права CHMOD 444 (чтение), например, в программе FileZilla. Например, сюда:
/var/www/httpd-cert/<user>/mynicesite.ru.crt
/var/www/httpd-cert/<user>/mynicesite.ru.key
3. Пропишите путь к файлам сертификата в настройках Nginx для домена. Если сервер использует индивидуальные настройки Nginx для домена то, возможно, тут:
/etc/nginx/vhosts/<user>/mynicesite.ru.conf
Копирую, как у меня, обязательные параметры выделены красным:
4. Если на вашем сервер используется ISP Manager 5 или ISP Manager 6, то, возможно, более простой путь настройки сертификатов такой. Если указанные панели не используются, переходите к п. 5.
В панельке ISP Manager получить самоподписанный сертификат для домена и назначить его домену. Для этого зайтите в настройки домена в разделе WWW_домены и назначьте домену самоподписанный сертификат. Далее откройте для редактирования файлы
/var/www/httpd-cert/<user>/mynicesite.ru.crt
/var/www/httpd-cert/<user>/mynicesite.ru.key
и вставьте в них данные путем полной замены содержимого, полученные в п. 1. Загрузите на сервер с заменой существующих файлов.
5. Перезагрузите сервис nginx в панели управления сервером или по ssh, например, используя команду service nginx restart или sudo systemctl restart nginx и т.п. (смотрите документацию к вашей версии операционной системы). Если в пп.2-4 вы всё сделали правильно, то сервис nginx перезапустится без ошибок.
6. Для успокоения души вы можете проверить срок валидности установленного сертификата с помощью команды, которую можно ввести в терминале по ssh из директории, где лежат файлы mynicesite.ru.crt и mynicesite.ru.key:
openssl x509 -noout -in mynicesite.ru.crt -dates
Результат будет такого вида:
7. Перейдите в панель управления доменом на сайте ClodFlare. В разделе DNS -> Records включите проксирование для домена:
8. Перейдите в панель управления доменом на сайте ClodFlare. В разделе SSL/TLS -> Overview включите режим Full (strict) для домена:
9. Проверьте доступность вашего сайта в браузере, проверьте сертификат ssl в браузере. Настройка завершена.
Recommended Comments
Join the conversation
You can post now and register later. If you have an account, sign in now to post with your account.
Note: Your post will require moderator approval before it will be visible.