Firefox не может подключиться к локальному сайту, но Chrome может - PullRequest
0 голосов
/ 05 мая 2018

У меня есть веб-сервер, работающий локально, который сопоставлен с project.name.localhost: 3011 на коробке MacOSX. Мой / etc / hosts определяет:

127.0.0.1 project.name.localhost

Мне нужно перейти на этот сервер в Chrome и Firefox. Chrome прекрасно работает, когда я захожу на http://project.name.localhost:3011/. Firefox выдает ошибку подключения «Не удается подключиться». В консоли локального сервера я вижу, что при попытке из FF даже попытка соединения не была отправлена ​​на сервер.

Это на FF версии 59.0.2 (64-разрядная версия). У FF нет проблем с общедоступными интернет-сайтами, такими как этот, и Google.

Я уже попробовал все предложенные здесь шаги: https://support.mozilla.org/en-US/kb/firefox-cant-load-websites-other-browsers-can Таким образом, эти шаги:

  • Проверьте настройки прокси, убедитесь, что прокси выключен
  • Установите network.dns.disableIPv6 в true in about:config
  • Установить network.dns.disablePrefetch на true in about:config
  • Очищено вся история, включая куки и кеш

Также попытался отключить HSTS, как описано здесь: https://support.mozilla.org/en-US/questions/1204380

ping project.name.localhost

тоже отлично работает. Нет локальной проблемы DNS.

http://127.0.0.1:3011/ выдает мне ту же ошибку, что и при использовании имени хоста. Однако мне нужно получить доступ к серверу через имя хоста. Он не должен и не должен быть настроен для ответа на прямой IP.

Как я могу заставить FF поразить мой локальный веб-сервер через имя хоста?

РЕДАКТИРОВАТЬ: Два сотрудника испытали то, что они описывают как одну и ту же проблему, когда они настраивали свои системы, но они оба сказали, что «она ушла сама по себе» через день или два. Моя проблема сохраняется в течение нескольких недель и перезагружается.


Вывод на консоль из запроса:

GET http://global.appen.localhost:3011/invoice_groups

Request headers (398 B) 
Accept  
text/html,application/xhtml+xm…plication/xml;q=0.9,*/*;q=0.8
Accept-Encoding 
gzip, deflate
Accept-Language 
en-US,en;q=0.5
Cache-Control   
no-cache
Connection  
keep-alive
Host    
global.appen.localhost:3011
Pragma  
no-cache
Upgrade-Insecure-Requests   
1
User-Agent  
Mozilla/5.0 (Macintosh; Intel …) Gecko/20100101 Firefox/59.0

Время сети:

Blocked:          → 1 ms
DNS resolution:                  → 1 ms

Ответы [ 6 ]

0 голосов
/ 09 июля 2018

Firefox специально обработал «.localhost», что, похоже, вызвало проблемы. Когда я изменил свой файл hosts с project.name.localhost на project.name.devl, он начал работать.

0 голосов
/ 14 мая 2018

Я бы предложил пару вещей:

  • В файле hosts добавьте имя www.project.name.localhost, если Firefox добавляет к нему www. Это будет выглядеть так:

    127.0.0.1 project.name.localhost www.project.name.localhost

  • Используйте анализатор заголовков HTTP, такой как Fiddler, для мониторинга подключений, которые Firefox и Chrome устанавливают, когда вы используете http://project.name.localhost:3011/., который сообщит вам, есть ли проблема с разрешением IP или если есть разница с запросами, сделанными Chrome.

  • При проверке связи используйте / 4, чтобы проверить IPv4 и / 6 для IPv6, чтобы убедиться, что он разрешается правильно.
0 голосов
/ 14 мая 2018

Речь идет не о вашей конфигурации в машине. Firefox добавляет префикс «www», когда вы посещаете поддомен localhost, а Chrome - нет.

0 голосов
/ 14 мая 2018

Попробуйте создать другую конечную точку, например localhost: 3011 / test, посмотрите, работает ли, firefox может проверить ваш URL, а ваш суффикс или префикс может оказаться неполным и автоматически добавить некоторые префиксы, в строке адреса введите about: config затем Search: fixup и дважды щелкните browser.fixup.alternate.enabled, чтобы оно стало ложным. Посмотрите, поможет ли это.

0 голосов
/ 06 мая 2018

Вы также можете попробовать запустить из командной строки:

nbtstat -R

Это очистит ваш кеш имен Windows.

Не думаю, что это решит эту проблему, потому что имя работает в одном браузере, но не в FF.

Просто чтобы быть уверенным, когда вы очищаете кэш FF, перейдите в Параметры -> Конфиденциальность и безопасность. Оттуда вы хотите очистить «Кэшированный веб-контент» и «Данные сайта». Вы получаете оба из них?

Если это все еще не сработает, возможно, вы обнаружили ошибку FF, хотя это маловероятно. Указание хоста и номера порта является очень стандартным, и кажется маловероятным, что FF как-то не сможет сделать это в этом случае.

Вы можете также решить проблему. Что происходит, когда вы просто звоните хосту без номера порта? Возможно, вы захотите, чтобы ваш сервер обслуживал тестовую страницу на порту 80 и посмотрел, работает ли эта часть вызова. Это, по крайней мере, сузило бы его до номера порта. Или, возможно, сузьте его до того факта, что он неправильно обращается к серверу.

0 голосов
/ 05 мая 2018

Возможно, вам просто нужно очистить кеш браузера FF. Иногда вам нужно все это очистить, а не только для сайта, над которым вы работаете. Вы уже сделали это? Старые кэши могут создавать очень таинственные проблемы, подобные этой.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...