Рейтинг:0

Windows 10/Chrome: HTTP-запрос браузера на IP-адрес отличается от того же запроса на имя хоста

флаг ru

Опять же, это в Windows 10. Я добавляю новый тестовый веб-сервер Ubuntu (hpmicro1.lovelady.com) в нашу внутреннюю сеть, которая находится в домене lovelady.com. На другом компьютере есть DNS-сервер, который обрабатывает все запросы DNS.

Конфигурация ПК для DNS:

DNS-конфигурация

Когда я пингую веб-сервер по имени, я получаю 192.168.1.5:

разрешение DNS

Я перезагрузился в течение последних пяти минут.

Теперь в веб-браузере Chrome, Firefox или даже Edge (которого я обычно избегаю как чумы) при доступе к серверу по имени я получаю ошибку:

Ошибка при использовании имени хоста

Но когда я получаю доступ через IP-адрес, у меня есть успех:

Успех через IP-адрес

Так что мне кажется, что поиск DNS либо не происходит ни в ОДНОМ из веб-браузеров, либо они получают результаты, отличные от пинга командной строки. Как я могу диагностировать это, и, что более важно, как это можно исправить?

Michael Hampton avatar
флаг cz
Похоже, вы получаете доступ к двум совершенно разным машинам.
флаг in
Также может быть неправильная конфигурация VirtualHost на сервере.
флаг ru
Да, в том-то и дело, @MichaelHampton. Как это может быть? Как я могу узнать, какой IP-адрес использует Chrome (или Firefox, или Edge) здесь, и как я могу использовать правильные значения?
флаг ru
Не уверен, что ты говоришь @GeraldSchneider. Поскольку это, по-видимому, два разных сервера (один мой, а другой где-то там, в эфире ...), что вы предлагаете мне посмотреть, чтобы решить? Тот, который принадлежит мне (определенно, в сети 192.168), кажется, работает нормально....
флаг in
Проверьте заголовки http в инструментах разработчика вашего браузера. Обычно там указан удаленный адрес
Michael Hampton avatar
флаг cz
Остальной мир думает, что IP-адрес — 206.188.192.244, потому что он указан в глобальной DNS. Что тут происходит?
флаг in
Ваши браузеры настроены на использование DoH?
флаг ru
@MichaelHampton, весь остальной мир видит все, что связано с lovelady.com. Внутри есть DNS-сервер (кажется, я упоминал), который также предоставляет адреса для других серверов, которые не видит остальной мир. Среди них: hpmicro1, по адресу 192.168.1.5.
флаг ru
Привет, Джеральд. Я никогда не касался конфигурации Edge или Firefox. И ограниченная конфигурация Chrome. Я никогда не настраивал DNS через HTTP(s) ни на одном из них. Спасибо.
флаг ru
О, и я не упомянул, на случай, если кому-то будет любопытно… все эти вещи на lovelady.com действительно мои.
флаг ru
Хорошо, спасибо за помощь @GeraldSchneider в отношении инструментов разработчика. Пришлось включить кое-что, чтобы увидеть, но это обращение к адресу 206.188..., упомянутому выше. Так как эта же система в "DOS BOX" показывает правильное разрешение этого хоста на 192.168.... Мне остается только удивляться, почему _все три_ браузера обращаются к неправильному местоположению. (Это не говоря уже о том, что если я обращаюсь к www.lovelady.com [тот же адрес] все работает нормально....) Но я хочу акцентировать внимание на том, почему неверный адрес из Windows
Рейтинг:1
флаг cv

По-видимому, при некоторых обстоятельствах клиент Windows пытался получить адрес HPMICRO1.... из 8.8.8.8

Это не ошибка Windows, это так задумано. Вы настроили DNS-клиент Windows с первичным и вторичным DNS-серверами. Первичный сервер не ответил, поэтому DNS-клиент Windows запросил вторичный сервер. Это совершенно желаемое поведение. Вы бы предпочли, чтобы он потерпел неудачу при запросе первичного и не запрашивал вторичного? Вы подразумеваете, что другие клиенты DNS не ведут себя так же? Что они будут запрашивать только один DNS-сервер? Кажется, вы пытаетесь сделать из этого стяжку «Windows виновата», хотя на самом деле DNS-клиент Windows ведет себя именно так, как он был разработан. Если первичный сервер не отвечает, попробуйте вторичный, затем третичный и т. д. Это не проблема клиента, это проблема сервера. Проверьте свой DNS-сервер, проблема в нем.

Я не уверен, что заставило Windows сделать это.

Я дал вам ссылку на статью, которая объясняет поведение. Это не загадка. Он работает так, как и было задумано, точно так же, как и любой другой преобразователь DNS-клиентов, предназначенный для такого же поведения. Запросите первичный, нет ответа, запросите вторичный и так далее, и так далее.

флаг ru
Нет никаких доказательств того, что DNS не смог ответить ... только то, что у Windows было два результата одновременно. Не должно быть и не будет на других платформах. Не так, как другие в том, что касается кэширования результатов, но я покончил с этим. Решение состояло в том, чтобы исключить второй DNS. Почему это приводит к необходимости защищать Windows — загадка, над которой я больше не буду размышлять.
joeqwerty avatar
флаг cv
«Нет никаких доказательств того, что DNS не ответил». Точно так же вы не представили доказательства того, что он действительно ответил. Я просто рассказываю вам, для чего предназначен DNS-клиент Windows, и цитирую документацию Microsoft. Бери, как хочешь. DNS-клиент Windows здесь не виноват.
Рейтинг:0
флаг ru

Очевидно, что конфигурация DNS, которую я показал в вопросе, была плохой идеей. Удаление вторичного DNS-сервера решило проблему. По-видимому, при некоторых обстоятельствах клиент Windows пытался получить адрес HPMICRO1.... из 8.8.8.8, и, конечно же, это возвращало цепочку. Я не уверен, что заставило Windows сделать это (сомневаюсь, что кто-нибудь знает, почему Windows что-то делает ;| ), но после размышлений этот вторичный DNS никогда не собирался делать то, что я хотел.

Эта проблема была решена удалением внешнего (вторичного) DNS из конфигурации.

joeqwerty avatar
флаг cv
Это не проблема DNS-клиента Windows. Это проблема DNS-сервера, поскольку DNS-сервер, настроенный в качестве основного DNS-сервера для DNS-клиента, не отвечает на запрос. Вот я бы и поискал проблему. - https://docs.microsoft.com/en-us/troubleshoot/windows-server/networking/dns-client-resolution-timeouts
флаг ru
Согласовано. Вероятно, в данном случае проблема не в Windows. Но никто не может доказать (на данный момент, и я не буду тратить на это больше времени), что Windows делала то, что должна была делать. В любом случае, как я уже говорил, я считаю это проблемой конфигурации клиента. @joeqwerty
флаг ru
@joeqwerty Я скажу, что большинство ОС будут использовать один источник с каким-то кешем для разрешения DNS. Windows, возвращающая один адрес для PING и другой адрес для HTTP-запросов, демонстрирует, что этого не происходит. И я сомневаюсь, что это поддерживается как функция, что ставит ее на другую сторону этой линии функций / ошибок IMO.

Ответить или комментировать

Большинство людей не понимают, что склонность к познанию нового открывает путь к обучению и улучшает межличностные связи. В исследованиях Элисон, например, хотя люди могли точно вспомнить, сколько вопросов было задано в их разговорах, они не чувствовали интуитивно связи между вопросами и симпатиями. В четырех исследованиях, в которых участники сами участвовали в разговорах или читали стенограммы чужих разговоров, люди, как правило, не осознавали, что задаваемый вопрос повлияет — или повлиял — на уровень дружбы между собеседниками.