Запрещаем принудительный переброс http на https в Chrome, Mozilla, Edge, Explorer
Обновлено 19.02.2020
Добрый день! Уважаемые читатели и гости одного из крупнейших IT блогов по системному администрированию Pyatilistnik.org, В прошлый раз мы с вами подробно разобрали, как починить звук в Windows 10 после внезапной его пропажи, ох уж эта Windows 10. В сегодня я вам покажу как можно и нужно запрещать вашему браузеру принудительно перенаправлять адрес сайта с http протокола на https из-за чего сайт будет недоступен и вы получите ошибку ERR_CONNECTION_REFUSED. Я покажу откуда растут корни и как с этим бороться в Chrome, Mozilla, Microsoft Edge и Internet Explorer.
Ошибка ERR_CONNECTION_REFUSED при открытия сайта
Захотелось мне по работе открыть один из сайтов и вместо привычной мне картины я увидел ошибку "Сайт не позволяет установить соединение ERR_CONNECTION_REFUSED". Я сначала подумал, что сам сайт не работает, но команда Ping и проверка портов показывала, что он живой.
Я попытался открыть данный сайт в другом браузере и он заработал. На этом можно было заканчивать статью, но мне то нужно чтобы он открывался в Chrome, так как я его использую по умолчанию. Дальнейшее разбирательство показало, что по какой-то причине Chrome стал открывать адрес сайта не по протоколу http:\\, а стал его перенаправлять, причем в принудительном виде на https:\\. В результате я провел целое исследование и нашел причину, ей оказалась технология HSTS. Ниже мы и поговорим, что такое HSTS и как его отключить.
Что такое HSTS?
HSTS расшифровывается как HTTP Strict Transport Security. HSTS - это механизм веб-безопасности, который помогает браузерам устанавливать соединения через HTTPS и ограничивать небезопасные HTTP-соединения. Механизм заставляет веб-браузеры взаимодействовать с веб-сайтами только через безопасные соединения HTTPS (и никогда через HTTP). Преимущество HSTS заключается в том, что он предотвращает захват файлов cookie и помогает предотвратить атаки на более ранние версии протоколов. Механизм HSTS был разработан для борьбы с атаками SSL Strip, способными понизить безопасные HTTPS-соединения до менее безопасных HTTP-соединений. HSTS работает как мера безопасности, передавая политику в заголовок веб-страницы, которая заставляет браузер создавать безопасное соединение HTTPS, даже в момент атаки "Человек посередине (Man in the middle)"
По большей части, создание HSTS приветствовалось разработчиками и обычными пользователями благодаря его способности усиливать меры безопасности в Интернете. HSTS обеспечивает дополнительный уровень безопасности, который лучше защищает ваш сайт от взлома и снижает риск повреждения ваших личных данных. Однако реализация HSTS может иногда вызывать ошибки браузера. Эта проблема может быть легко решена путем эффективной очистки настроек HSTS в большинстве основных браузеров, таких как Chrome, Mozilla, Edge, Explorer. Три самых частых ошибок в данной ситуации:
- Privacy error: Your connection is not private” (NET::ERR_CERT_AUTHORITY_INVALID)
- ERR_CONNECTION_REFUSED
- ERR_CONNECTION_TIMED_OUT
Если вы получаете сообщение об ошибке конфиденциальности при попытке посетить определенный веб-сайт, и этот же сайт доступен из другого браузера или устройства (Прямо как у меня), то существует большая вероятность того, что у вас возникла проблема с настройкой параметров HSTS. Если это так, решением будет либо очистить, либо отключить HSTS для вашего веб-браузера. Ниже я приведу набор руководств, которые помогут вам очистить или отключить настройки HSTS.
Должен ли я внедрить HSTS на моем сайте?
Настоятельно рекомендуется использовать настройки HSTS на своем веб-сайте. Настройки HSTS укрепят безопасность вашего сайта и защитят ваши личные данные. Даже если у вас есть доверенный SSL-сертификат, хакеры все равно могут потенциально использовать ваш сайт. Если вы решите не использовать настройки HSTS на своем веб-сайте, вы повышаете вероятность того, что ваша хранимая информация будет запятнана в результате кибератак.
Что следует учитывать перед внедрением HSTS?
Перед внедрением настроек HSTS на вашем веб-сайте важно учесть несколько моментов, прежде чем вы сможете включить соответствующий заголовок:
- Перво-наперво, вам необходимо успешно установить SSL сертификат на вашем сайте.
- Если у вас есть субдомены, важно использовать подстановочный знак. Это будет дополнительно защищать каждый из ваших доменов.
- Используйте 301 редирект. Он будет действовать для перенаправления всех страниц HTTP на страницы HTTPS.
- На основании информации от Google рекомендуется установить максимальный возраст в два года.
- Наконец, убедитесь, что реализованы заголовки Sub Domain и Preload. Имейте в виду, что простое добавление предварительной загрузки не является эффективным способом попадания в список предварительной загрузки HSTS.
Как очистить или отключить HSTS в Google Chrome
Первым делом я хочу решить вопрос форсированного перенеправления адресов http на https в Chrome. В настройках HSTS есть опция "max-age", которая сообщает браузеру, как долго кэшировать и запоминать настройки перед повторной проверкой. Чтобы немедленно продолжить работу без ошибки, вам необходимо удалить локальные настройки HSTS вашего браузера для этого домена.
Чтобы удалить настройки HSTS в Chrome вам необходимо посетить специальную техническую страницу по адресу:
Это пользовательский интерфейс Chrome для управления локальными настройками HSTS вашего браузера.
Во-первых, чтобы подтвердить, что настройки HSTS применяются к нужному домену (адресу сайта) и записаны в Chrome, введите адрес домена в разделе "Query Domain" в нижней части страницы. Нажмите "Query". Если поле "Query" возвращает значение "Found" с приведенной ниже информацией о настройках, то настройки HSTS домена сохраняются в вашем браузере и их нужно удалять. В моем случае адрес был найден в кэше Chrome и обратите внимание, что стоит флаг FORCE_HTTPS.
Далее чтобы очистить данные HSTS для нужного сайта вам необходимо на этой странице найти в самом низу раздел "Delete domain security policies". Далее вы вставляете тот же адрес сайта, без всяких http, просто адрес домена, что проверяли выше и нажимаете кнопку "Delete".
Перезапустите Chrome и посмотрите, есть ли у вас доступ к домену, для которого вы ранее очистили настройки HSTS. Если проблема была связана с настройками HSTS, веб-сайт должен быть доступен.
Как удалить настройки HSTS для Яндекс браузера, Edge Chromium, Opera, Амиго
Большинство браузеров построены на движке Chromium, среди них можно выделить:
- Microsoft Edge Chromium, который появился в январе 2020 года
- Яндекс браузер
- Opera
- Амиго
Так как у них движок такой же .как и у Google Chrome, то к ним будет применен и актуален такой же метод, что мы делали выше, а именно через удаление домена на специальной странице:
Вот вам пример из Microsoft Edge Chromium
Как очистить или отключить HSTS в Firefox
По сравнению с Chrome, Firefox имеет несколько способов очистки или отключения настроек. Для начала я рассмотрю автоматический метод.
Автоматический метод отключения HSTS в Mozilla
- Откройте Firefox и убедитесь, что все открытые вкладки или всплывающие окна закрыты.
- Нажмите Ctrl + Shift + H (или Cmd + Shift + H на Mac), чтобы открыть меню библиотеки .
- Найдите сайт, для которого вы хотите удалить настройки HSTS. Вы можете упростить для себя, используя панель поиска в верхнем правом углу.
- Как только вам удастся найти веб-сайт, для которого вы пытаетесь очистить настройки HSTS, щелкните по нему правой кнопкой мыши и выберите Забыть об этом сайте . Это очистит настройки HSTS и другие кэшированные данные для этого конкретного домена.
- Перезапустите Firefox и посмотрите, была ли проблема решена. Если это была проблема HSTS, то теперь вы сможете нормально просматривать веб-сайт и Firefox не будет производить принудительный переброс http на https.
Ручной метод для Firefox
Данный метод можно еще назвать методом очистки HSTS путем очистки настроек сайта.
- Откройте Firefox, нажмите на значок "Библиотека" и выберите "Журнал"
- Далее выберите пункт "Удалить историю"
- В окне "Удаление всей истории" установите в раскрывающемся меню "Диапазон времени" значение "Все". Затем разверните меню "Данные" и снимите все флажки, кроме "Настройки сайта" и нажмите "Удалить сейчас", чтобы очистить все настройки сайта, включая настройки HSTS . Далее перезагрузите Firefox и посмотрите, была ли проблема решена при следующем запуске.
3 Способ: очистка настроек HSTS путем редактирования профиля пользователя
Еще одним методом очистки или отключения HSTS в Firefox можно выделить редактирования профиля пользователя.
- Полностью закройте Firefox и все связанные всплывающие окна и значки в трее.
- Перейдите к местоположению профиля пользователя вашего Firefox. Найти свой профиль пользователя, вставив "about:support" в навигационную панель вверху и нажав Enter. Вы найдете расположение папки профиля в разделе Основы приложения . Просто нажмите Открыть папку, чтобы перейти в папку профиля. Но как только вы это сделаете, убедитесь, что вы полностью закрыли Firefox.
- В папке профиля Firefox откройте SiteSecurityServiceState.txt в любой текстовом редакторе. Этот файл содержит кэшированные настройки HSTS и HPKP (закрепление ключей) для доменов, которые вы посещали ранее. Чтобы очистить настройки HSTS для определенного домена, просто удалите всю запись и сохраните документ .txt .
После удаления записи и сохранения файла закройте SiteSecurityServiceState.txt и перезапустите Firefox, чтобы увидеть, была ли проблема решена. По идее ошибки:
- Privacy error: Your connection is not private” (NET::ERR_CERT_AUTHORITY_INVALID)
- ERR_CONNECTION_REFUSED
- ERR_CONNECTION_TIMED_OUT
должны быть устранены, по крайней мере в 99% случаев, это работает для Mozilla Firefox.
4 Способ отключить HSTS в Firefox
- Запустите Firefox и введите about:config в адресной строке вверху. Далее, нажмите "Принять риск и продолжить"! Кнопка для входа в меню расширенных настроек .
Далее через поиск найдите security.mixed_content.use_hstsc или security.mixed_content.block_active_content и выключите его. Обязательно перезапустите браузер.
Очистка или отключение настроек HSTS в Internet Explorer
Поскольку это важное улучшение безопасности, HSTS по умолчанию включен в Internet Explorer. Хотя не рекомендуется отключать HSTS в браузерах Microsoft, вы можете отключить эту функцию для Internet Explorer. Вот краткое руководство о том, как это сделать с помощью редактора реестра. Откройте окно выполнить и введите там regedit, чтобы запустить редактор реестра Windows.
Перейдите в раздел:
Щелкните правой кнопкой мыши по FeatureControl и выберите "Создать - Раздел" . Назовите его FEATURE_DISABLE_HSTS и нажмите Enter.
Щелкните в данном разделе правым кликом и создайте новый ключ "Параметр DWORD (32 бита)" и назовите его iexplore.exe со значением 1.
У меня получилось вот так.
- Снова используйте левую панель, чтобы перейти к следующему подразделу реестра:
HKEY_LOCAL_MACHINE\SOFTWARE\Wow6432Node\ Microsoft\Internet Explorer\Main\ FeatureControl \ - Щелкните правой кнопкой мыши FeatureControl и выберите "Создать - Раздел" , назовите его FEATURE_DISABLE_HSTS и нажмите Enter, чтобы сохранить изменения.
- Щелкните правой кнопкой мыши FEATURE_DISABLE_HSTS и выберите "Создать - "DWORD (32-разрядное) значение" и назовите его "iexplore.exe", задайте ему значение "1"
- Перезагрузите компьютер и посмотрите, были ли отключены настройки HSTS для Internet Explorer при следующем запуске.
На этом у меня все, я попытался вам написать обобщенную статью по которой вы легко сможете отключить принудительное перенаправление адресов сайта с http на https из-за технологии HSTS. С вами был Иван Семин, автор и создатель IT портала Pyatilistnik.org.
Спасибо за информацию, помогли!
Рад, что оказалось полезным!
Крутой кейс. Молодец.
Спасибо, рад что помог!
аааа… локалхост нормально открывается на http…. кайф….
спасибо!