Веб-разработка, логотип Eqsash

Автоматическая замена ссылок на HTTPS - как включить или отключить HSTS, опция preload

После всеобщего внедрения протокола HTTPS стало необходимо каким-либо образом перенаправлять посетителей сайта на открытие страниц через этот протокол. Обычно это можно сделать при помощи правил в .htaccess файле в корне сайта. Однако, так как HTPPS стал чрезвычайно популярен и используется сегодня повсеместно – должен был появиться удобный способ автоматической замены ссылок на сайте на HTTPS без написания лишних правил.

how-enable-hsts-on-hosting

Что такое HSTS

Такой способ существует – называется данная технология HSTS (HTTP Strict Transport Security). Что такое HSTS? Это опция, включающая форсированное защищённое соединение по HTTPS, рекомендуется использовать для обеспечения повышенной безопасности. Другими словами, браузер будет все запросы на Вашем сайте открывать через HTTPS, даже если ссылки прописаны с HTTP.

Использование HSTS позволяет избавиться от необходимости ручной правки ссылок с HTTP, но это распространяется только на текущий домен, а могут быть размещены ссылки еще и на сторонние домены. Всё же лучше не полагаться только на автоматическую замену ссылок на HTTPS, а дополнительно исправить все ссылки на сайте в относительные или в абсолютные адреса с явным указанием протокола.

Как включить HSTS

Это стало возможным благодаря появлению нового заголовка, можно использовать любой из трех вариантов записи:

Strict-Transport-Security: max-age=<expire-time>
Strict-Transport-Security: max-age=<expire-time>; includeSubDomains
Strict-Transport-Security: max-age=<expire-time>; preload

Посылать заголовки в браузер необходимо при помощи PHP, другого языка, при помощи записей в .htaccess файле и т.д. А самый простой способ включения HSTS – поставить галочку в настройках хостинга рядом с пунктом HSTS.

Первый вариант записи просто посылает заголовок, достаточно указать время его действия. Второй вариант указывает браузеру, что правило распространяется также и на все поддомены. Последний третий вариант – неофициальный, однако часто спрашивают, что значит HSTS preload.

HSTS preload

Что такое HSTS preload? Это опция, позволяющая использовать списки предварительной загрузки. Такие списки составляются крупными компаниями и используются всеми браузерами. Сейчас этим занимается Google – она предоставляет списки предварительной загрузки для своего браузера Chrome, а также и для других браузеров.

hsts-preload-list-add-form

Зачем нужны такие списки HSTS preload? Это позволяет браузерам еще до посещения сайта узнавать, что указанный сайт (домен) и все его страницы стоит открывать только через HTTPS. Существует специальный проект (на данный момент доступен по адресу - hstspreload.org), который обслуживает заявки. Он принимает заявки на включение сайтов в такой список (зеленая форма выше), а также удаление сайта при необходимости из данного списка (серая форма ниже). Прежде чем подавать заявку на добавление – необходимо удостовериться, что все страницы сайта работают через HTPPS и что Вы сможете поддерживать этот протокол долгое время. Так как на удаление домена из этого списка уйдет много времени.

hsts-preload-list-remove-form

Как отключить HSTS

Ну и последнее, как отключить HSTS? Необходимо послать тот же заголовок, только с установленным временем max-age в 0. Это немедленно отключит HSTS и разрешит доступ через HTTP.

how-disable-hsts-in-browser

Есть еще вариант отключения HSTS, для каждого браузера он может различаться. Например, для Chrome необходимо зайти по адресу chrome://net-internals/#hsts и удалить домен через раздел «Delete domain security policies». Достаточно вписать свой адрес домена в поле «Domain» и нажать «Delete». После выполнения данных действий при заходе на сайт лучше принудительно указать протокол http://, иначе браузер может автоматически открыть его по привычке через HTTPS.

Оставить заявку

Последние статьи

Популярные разделы