Chrome 80 может разрешить ненастроенное локальное имя хоста как ::1

Chrome 80 может разрешить ненастроенное локальное имя хоста как ::1

У меня есть локальная веб-служба, прослушивающая 0.0.0.0:8080. При доступе из Chrome я использовал abc.localhost:8080/someWebPage, и Chrome может преобразовать имя хоста abc.localhost в ::1, в то время как другие браузеры этого не делают.

вот мой /etc/hosts

127.0.0.1       localhost
::1             localhost
127.0.0.1       subdomain1.localhost

Я отключил опцию «Предварительная загрузка страниц для более быстрого просмотра и поиска» в разделе «Конфиденциальность и безопасность» в настройках Chrome.

Я очистил кэш хоста из chrome://net-internals/#dns, а также выполнил команду ipconfig /flushdns

Вот фрагмент из Chrome Netlog, который показывает, что abc.localhost преобразован в ::1:

abc.localhost:8080
Start Time: 2020-03-18 12:52:49.027

t=2574 [st=   0] +SOCKET_ALIVE  [dt=1897+]
                  --> source_dependency = 29267 (TRANSPORT_CONNECT_JOB)
t=2574 [st=   0]   +TCP_CONNECT  [dt=1]
                    --> address_list = ["[::1]:8080","127.0.0.1:8080"]
                    --> canonical_name = ""
t=2574 [st=   0]      TCP_CONNECT_ATTEMPT  [dt=1]
                      --> address = "[::1]:8080"
t=2575 [st=   1]   -TCP_CONNECT
                    --> source_address = "[::1]:64756"
t=2575 [st=   1]   +SOCKET_IN_USE  [dt=56]

Может ли кто-нибудь объяснить, как браузер Google Chrome может разрешить имя хоста, не настроенное в файле hosts, и как отключить это поведение.
Я использую версию Chrome 80.0.3987.132 (официальная сборка) (64-бит), а моя ОС — Windows 10

Обновления Я нашел ответ здесьChrome игнорирует файл hosts для поддоменов localhostкоторый указывает на баг-трекер хрома https://bugs.chromium.org/p/chromium/issues/detail?id=489973 Другая связанная проблема https://bugs.chromium.org/p/chromium/issues/detail?id=455825

Chrome больше не использует файл hosts, он будет принудительно разрешать имена хостов localhost и *.localhost в адрес обратной связи, как указано вhttps://www.rfc-editor.org/rfc/rfc6761#section-6.3

решение1

Chrome переопределяет домен localhost, полностью игнорирует файл hosts и поиск DNS из соображений безопасности.

решение2

У меня была похожая проблема, и я зашел в "настройки" -> "конфиденциальность и безопасность" -> "безопасный просмотр". Там я установил "стандартную защиту" на "без защиты". Тогда адреса в моем файле /etc/host заработали, включая такие, как127.0.0.1 some.domain.org

Связанный контент