Как навсегда исключить localhost из списка HSTS в Google Chrome

Это дополнительный вопрос к Google Chrome, перенаправляющему localhost на https.

Кто-нибудь знает, как навсегда исключить localhost из списка HSTS в Google Chrome?

Или любое другое элегантное решение, которое не потребует от разработчика посещения chrome://net-internals/#hsts и удалить localhost каждый раз при переключении с работы над проектом HTTPS на другой проект по HTTP?

6 ответов

Решение

Обновить:

Вы можете установить соответствующий сертификат SSL для этих доменов, если хотите бесплатно, поэтому вам не придется возиться с HSTS. Посмотрите здесь.


Вы можете отредактировать файл hosts вашей системы:

  • В Windows: C:\Windows\System32\drivers\etc\hosts
  • В Linux: /ets/hosts

Там вы можете определить разные домены для каждого проекта:

 127.0.0.1    project1.local
 127.0.0.1    project2.local
 127.0.0.1    projectN.local

Примечание: я использую домены *.local (вы можете использовать практически все), потому что вы уже установили localhost для перенаправления на https, и поэтому мы должны использовать другой домен. Хотя я настоятельно рекомендую вам установить настоящий SSL-сертификат и восстановить по умолчанию все изменения, которые вы внесли в HSTS.

После сохранения, когда вы перейдете на этот домен в любом браузере, он будет загружен из 127.0.0.1 (Локальный). Если вы используете apache/nginx в качестве сервера, вы также можете определить VirtualHosts для каждого домена, чтобы вам не приходилось менять папку httpd при каждом переключении проектов.

Затем, конечно, вам придется заново выдать любой сертификат, который у вас может быть для этих проектов для новых доменов, но они будут уникальными для каждого проекта. А в Chrome вам не нужно было бы размешивать сетевые компоненты более одного раза для каждого домена для проектов, у которых нет сертификата (и 0 раз для проектов с сертификатом).

Вы можете следить за решением здесь.

Когда Google Chrome продолжает перенаправлять URL-адрес вашего локального хоста http://localhost в https://localhost, сделайте следующее:

  1. Откройте панель инструментов разработчика (CTRL+SHIFT+I)
  2. Нажмите и удерживайте значок перезагрузки
  3. Меню откроется
  4. Выберите третий вариант из этого меню ("Очистить кэш и полная перезагрузка")

Chrome 78 поддерживает политику HSTSPolicyBypassList. Вы можете указать localhost в качестве домена для обхода HSTS. Чтобы настроить политику Chrome в Linux, просто создайте файл в /etc/opt/chrome/policies/managed/policies.json со следующим содержимым:

{
    "HSTSPolicyBypassList": [
        "localhost"
        ]
}

Вы можете увидеть политики, загруженные Chrome, набрав chrome://policy/ в адресной строке.

Не постоянное исправление (может быть проблема безопасности)

Нашел "исправление". Что-то интересное, но не может быть постоянным исправлением, поскольку может вызвать множество проблем с безопасностью.

Вот что я сделал:

  1. Откройте Google Chrome
  2. В строке поиска введите chrome://flags/#allow-insecure-localhost
  3. Включено Allow invalid certificates for resources loaded from localhost.

Если вы перезагрузите приложение, предупреждение должно исчезнуть.

PS Я сделал это, потому что мне нужно было воссоздать сертификат, но у меня не было времени. Вот почему я это сделал. Я отключу это, когда моя сертификация будет работать локально.

мне надоело удалять localhostиз chrome://net-internals/#hsts, поэтому я узнал, как создать профиль для macOS, который устанавливает две политики Chrome: HSTSPolicyBypassList+ CertificateTransparencyEnforcementDisabledForURLs

Вот репозиторий с устанавливаемым профилем для macOS, который настраивает политику, а также примечания о том, почему defaults write com.google.Chrome HSTSPolicyBypassList -string "localhost"не работает. https://github.com/ip2k/I-Dont-Care-About-HSTS-For-Localhost

Кроме того, chrome://flags/#allow-insecure-localhost и https://chromedevtools.github.io/devtools-protocol/tot/Security/#method-setIgnoreCertificateErrors могут быть интересны людям, часто работающим с этим или в безголовых средах.. Я добавил ссылки в вышеупомянутом репо на все, что я мог найти по этому поводу. Приветствуется пиар!

Для пользователей Brave Windows вам нужно добавить его следующим образом через редактор реестра в разделеComputer\HKEY_LOCAL_MACHINE\SOFTWARE\Policies\BraveSoftware\Brave\HSTSPolicyBypassList, с ключом100и ценностьlocalhost:

И вы можете убедиться, что он работает под храбрым: // политика.

Другие вопросы по тегам