Cloudflare настройки SSL/HTTPS

Full (strict) SSL

Частичный перевод официальной документации с добавлением собственного опыта использования и неофициального разъяснения отдельных настроек.

Для чего нужен SSL/HTTPS

Протокол HTTPS является версией протокола HTTP с шифрованием. Данные, передаваемые по протоколу HTTPS, «упаковываются» в криптографический протокол SSL. SSL используется для защиты передаваемой информации между сайтом и вашим компьютером, будь то данные кредитной карты, поисковый запрос, связка логин/пароль или иные данные. Шифрование SSL гарантирует, что передача информации между компьютером посетителя сайта и сервером конфиденциальна.

Дополнительные преимущества SSL:

  • Посетители имеют возможность удостовериться что зашли именно на ваш сайт, а не на фишинговый
  • Посетители могут быть уверены, что в момент передачи данный от сервера к их компьютеру информация не была изменена. Никто не может вклиниться в обмен данными по зашифрованному каналу
  • Рейтинг в поисковых системах сайта может быть улучшен, если сайт имеет также поддержку HTTPS наравне с HTTP

Какие настройки SSL использовать?

SSL settings explained

CloudFlare предоставляет пять типов настройки для SSL. Ниже приводятся описание для каждой из них. Cloudflare рекомендует использовать опцию Full SSL (strict).

Кратко: Нужно использовать настройку Flexible если ваш сервер не может принимать HTTPS соединения, то есть HTTPS на нём не настроен. Нужно использовать опцию Full если ваш сервер имеет самоподписанный сертификат, и настройку Full (strict) если имеется сертификат, подписанный центром сертификации.

Off (Отключить, не использовать SSL)

Принудительное нешифрованное соединение между компьютером посетителя сайта и серверами CloudFlare и нешифрованное соединение от серверов CloudFlare до вашего сервера. Если посетитель попытается подключиться через HTTPS, то будет возвращён код ошибки HTTP 301 Redirect. Пользователь будет перенаправлен на HTTP версию сайта.
Если в конфигурации вашего сервера (Apache, Nginx, Lighthttpd, ...) настроено перенаправление на HTTPS в какой-то момент, то при использовании этой опции возможен бесконечный цикл перенаправлений (infinite redirection loop). CloudFlare будет перенаправлять браузер пользователя на HTTP версию, а ваш сервер на HTTPS версию. Это приведёт к ошибке в браузере.
Если включена данная опция, то посетители вашего сайта могут видеть только HTTP версию сайта.

Flexible SSL (Гибкий SSL)

Если на вашем сервере нет поддержки HTTPS, на нём не используются ключи шифрования, но вы хотите предоставить посетителям HTTPS версию сайта, то необходимо использовать эту опцию. В таком случае будет шифрованный канал от клиентского компьютера до серверов CloudFlare. От серверов CloudFlare до вашего сервера будет использоваться нешифрованное соединение. Посетители будут видеть HTTPS версию сайта, если запрашивают HTTPS версию, HTTP - если запрашивают HTTP.
Эта опция не рекомендована к использованию в случае, если к вашему серверу клиентом может пересылаться секретная информация (пароли, финансовые данные). Данная опция должна быть использована только в том случае, если настроить HTTPS не удаётся или же у вас нет доступа к серверу, где расположен сайт. В определённых ситуация может возникнуть бесконечный цикл перенаправлений (infinite redirection loop). Ситуация описывается здесь.

Full SSL (Полное шифрование)

Шифрует не только соединение до серверов CloudFlare(как предыдущая опция), но и от них до вашего сервера. Разница между настройками Full и Full (Strict) в том, что последняя проверяет срок сертификата и подпись центра сертификации. Для использования этой настройки необходимо наличие сертификата SSL на вашем сервере. Сайт должен быть доступен по HTTPS. Однако CloudFlare не будет пытаться проверить подпись вашего сертификата. Он может быть самоподписанным. Со стороны серверов CloudFlare это будет выглядеть так, как будто они пропускают это предупреждение. В этом нет ничего плохого, если у вас корректные настройки DNS. Посетители будут видеть HTTPS версию сайта, если запрашивают HTTPS версию, HTTP - если запрашивают HTTP.

Full SSL (strict) (Полное шифрование с проверкой сертификата)

Более строгая версия предыдущего режима. Помимо шифрования канала от компьютера пользователя до сервера CloudFlare и канала от сервера CloudFlare до вашего сервера, также проверяет корректность вашего сертификата. Корректность в данном случае понимается так, что сертификат должен иметь не истёкший период действия, иметь подпись сертификационного центра и должен быть выписан на имя вашего сайта (доменное имя). Чтобы включить этот режим, ваш сайт должен быть доступен по HTTPS протоколу, иметь корректный сертификат. Посетители будут видеть HTTPS версию сайта, если запрашивают HTTPS версию, HTTP - если запрашивают HTTP.

Strict (SSL-Only Origin Pull)

Более строгая версия предыдущего режима. Данная настройка будет принудительно переводить соединение между клиентом и серверами на шифрованное соединение, даже если клиентом изначально запрашивался HTTP. Для того, чтобы использовать этот режим ваш сайт должен быть доступен по HTTPS, использовать доверенный сертификат с не истёкшим сроком давности, который подписан центром сертификации и выписан на имя вашего сайта (доменное имя). Также как и в случае с настройкой Off может возникнуть бесконечный цикл перенаправлений (infinite redirection loop), если у вас на сервере настроено где-то перенаправление на HTTP протокол.
Посетителям будет доступна только HTTPS версия сайта.

Comments

comments powered by Disqus