Ранее мы уже рассматривали замечательный и бесплатный CDN Cloudflare. Также речь уже заходила про бесплатные SSL сертификаты от LetsEncrypt. Но много ли кто настраивает бесплатный сертификат от CloudFlare? Лично меня к этому подтолкнуло закрытие моего хостинга, что привело к необходимости искать место хранения для всех своих проектов.
Как работает CloudFlare?
По сути, у CloudFlare много разного функционала, но работает он по принципу щита между пользователями и сайтом.
У CloudFlare есть 3 варианта работы с https протоколом.
Один из которых подразумевает возможность передачи данных от сервера до CloudFlare без сертификата, а от CloudFlare до пользователя с сертификатом.
Предоставляется сертификат бесплатно в панели управления сервиса CloudFlare.
Также есть возможность настроить передачу данных используя https протокол на всём пути данных от сервера к пользователю и обратно.
Как подключить SSL сертификат от CloudFlare?
Для начала вам нужно зарегистрироваться на официальном сайте сервиса и подключить сервис по инструкции из другой статьи.
Потом, когда сайт будет подключен, а вы зайдёте в админку сервиса, вам нужно будет открыть вкладку «Crypto».
Как раз там и настраиваются сертификаты.
Как показано на скрине выше — у вас есть три варианта как использовать SSL и возможность его отключить.
Учитывая бесплатный хостинг без LetsEncrypt вам придётся использовать первый вариант, т.е. «Flexible».
А чтобы у вас появился сертификат, который сервис будет использовать для отдачи данных пользователям, нажмите на кнопку «Order SSL Certificate» и отвечайте на вопросы сервиса.
Также рекомендую включить опцию «Always use HTTPS», только убедитесь потом, что ваш сайт работает корректно.
Если возникла проблема со смешанным контентом (замочек не зелёный), то включите «Automatic HTTPS Rewrites».
С поддоменами всё уже несколько сложнее, потому что для их сертификатов требуется сделать действия, недоступные на большинстве бесплатных хостингов. И всё же я распишу, что нужно сделать. На всякий случай.
Для подключения сертификата к поддоменам в строке «Origin Certificates» нужно нажать «Create Certificate». Таким образом вы получите сертификат не только на основной домен, но и на все поддомены. Однако этот сертификат выдаётся в виде двух файлов: *.pem и *.key. Их следует разместить на сервере nginx и apache согласно инструкциям в самом низу той же страницы.
Вывод
Теоретически, этот вариант отдаёт корректный SSL сертификат, но это всё равно не панацея, потому что созданные на большинстве бесплатных хостингов поддомены остаются без сертификата.