RFC2606 утверждает следующее для tld "localhost":
TLD ".localhost" традиционно статически определялся в реализациях DNS хоста как имеющий запись A, указывающую на IP-адрес обратной связи, и зарезервирован для такого использования. Любое другое использование противоречит широко распространенному коду, предполагающему такое использование.
Так что, если я правильно это понимаю, IETF говорит, что .localhost - хороший TLD для разработки локальных веб-сайтов. Таким образом, моя компания требует, чтобы все наши локальные проекты разработки использовали tld ".localhost". (Мы используем Vagrant + Puppet, чтобы все наши среды разработки были идентичными для всей команды). Например, в файле hosts будут такие записи:
192.168.10.10 someproject.localhost
10.9.8.7 anotherproject.localhost
Вот в чем проблема, этот tld отлично работает во всех браузерах, ЗА ИСКЛЮЧЕНИЕМ Chrome. Chrome выдает сообщение ERR_CONNECTION_REFUSED всякий раз, когда используется tld localhost. Если я изменю tld так:
192.168.10.10 someproject.loc
10.9.8.7 anotherproject.loc
Chrome работает нормально. Фактически, я протестировал несколько различных произвольных TLD, и все они также отлично работают в Chrome. "localhost" - единственный протокол TLD, который выдает сообщение ERR_CONNECTION_REFUSED в Chrome.
Я использую Windows 7, Chrome версии 53.0.2785.116 м (64-бит). Но я получаю ту же ошибку в Windows 10. Все в моей команде также получают одну и ту же ошибку, независимо от того, находятся ли они на домашних или рабочих компьютерах (Windows и Mac).
Почему Chrome не может подключиться, если tld - «.localhost»?
То, что ты делаешь, неправильно.
localhost - это имя хоста указывает на 127.0.0.1, а не на домен, поэтому добавление хостов к нему, как если бы это домен, но указание куда-то еще, логически неверно.
Возможно, вы запутались с доменом .local, однако есть причины не использовать его, на которые уже даны ответы в других вопросах. По сути, вы не должны создавать поддельный домен, вы должны получить правильный домен, а затем добавить хосты под его поддоменом в вашем файле hosts / local dns.