Как навсегда исключить 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
, сделайте следующее:
- Откройте панель инструментов разработчика (CTRL+SHIFT+I)
- Нажмите и удерживайте значок перезагрузки
- Меню откроется
- Выберите третий вариант из этого меню ("Очистить кэш и полная перезагрузка")
Chrome 78 поддерживает политику HSTSPolicyBypassList. Вы можете указать localhost в качестве домена для обхода HSTS. Чтобы настроить политику Chrome в Linux, просто создайте файл в /etc/opt/chrome/policies/managed/policies.json со следующим содержимым:
{
"HSTSPolicyBypassList": [
"localhost"
]
}
Вы можете увидеть политики, загруженные Chrome, набрав chrome://policy/ в адресной строке.
Не постоянное исправление (может быть проблема безопасности)
Нашел "исправление". Что-то интересное, но не может быть постоянным исправлением, поскольку может вызвать множество проблем с безопасностью.
Вот что я сделал:
- Откройте Google Chrome
- В строке поиска введите
chrome://flags/#allow-insecure-localhost
- Включено
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
:
И вы можете убедиться, что он работает под храбрым: // политика.