Допустим, вы Server A
настроили своего любимого демона веб-сервера для обслуживания www.example.com
. Теперь вы хотите переместить это в Server B
. После множества копий и настройки новый сервер, похоже, готов. Заключительный тест будет в порядке: перед изменением DNS-записей, как запросить www.example.com
сервер B, если записи DNS по-прежнему указывают на сервер A?
Хотя на мой основной вопрос был дан ответ, в случае, если / etc / hosts не находится под моим влиянием, возможно ли проверить его с помощью telnet, вместо этого говоря необработанный HTTP1.1 веб-серверу?
domain-name-system
http
testing
Ярмунд
источник
источник
Ответы:
DNS это волшебная вещь. Имея достаточный контроль над клиентским ПК, вы можете превратить
right.com
вwrong.com
иviceversa.io
. Перейдите на тестовый клиентский ПК и измените его разрешение DNS, либо изменив файл хоста на этом клиенте, либо вы можете сделать что-то более сложное и дать этому хосту простой DNS-сервер для запросов, напримерdnsmasq
. В любом случае, конечная цель состоит в том, чтобы сделать ответ DNS на запросы, относящиеся к ответу,www.example.com
с IP-адресом для сервера B. Заголовки хоста HTTP будут иметь имя DNS для www.example.com, но будут направлены на Сервер Б.Магия!
источник
/etc/hosts
не пришло мне в голову, и это сработало отлично. Приветствия за напоминание!hosts
Файл не участвует в разрешении DNS , но это совершенно отдельный механизм поиска имени , что библиотека определителя обеспечивается клиентской ОС может, и в большинстве случаев будет, использование в дополнении к DNS - запросам в. Лично я думаю, что «это волшебство» просто означает «нет необходимости понимать», что, безусловно, плохо для профессионалов.Важно отметить, что проведение такого теста для HTTP на самом деле не связано вообще с DNS, а с тем, что HTTP-клиент отправляет в качестве
Host
значения заголовка.Очевидно, что клиент должен подключиться к нужному IP-адресу и порту, но помимо этого все сводится к
Host
заголовку, который встроен в сам HTTP-запрос.Для быстрого тестирования можно использовать следующую команду без изменения какой-либо конфигурации уровня операционной системы на клиенте:
или, в этом отношении,
Чтобы сделать то же самое с обычным веб-браузером, вам потребуется либо расширение для браузера, которое может изменять заголовки запроса (или, возможно, HTTP-прокси, который изменяет заголовки), либо вам потребуется изменить конфигурацию операционной системы клиентского компьютера.
Как уже было упомянуто, самый простой способ сделать такое изменение конфигурации - добавить запись в
hosts
файл. Таким образом, библиотека распознавателя ОС клиента получит хит при обращении кhosts
файлу и даже не будет нуждаться в поиске DNS.Другие варианты включают изменение настроенных серверов распознавания DNS на клиенте на сервер имен, который настроен для ответа по желанию.
источник
curl
позволяют вам переопределить обычное разрешение имен (DNS или hostfile) и по-прежнему делать заголовки автоматически, а также SNI при использовании / проверке httpS. Смотрите--resolve
в своей man- странице или на curl.haxx.se/docs/manpage.html .Вы можете проверить это с
telnet
. Вам нужно сделать необработанный HTTP-запрос, набрав команды. Вы не можете делать никаких ошибок, и некоторые серверы имеют тайм-аут, поэтому вам также нужно ввести весь запрос в течение этого периода времени.Команда будет примерно такой:
Запрос будет выглядеть примерно так:
Обратите внимание, что он должен заканчиваться пустой строкой, поэтому вы должны дважды нажать клавишу ввода после заголовка хоста.
источник
Host
заголовок не является заглавными. (И, видимо, некоторые серверы могут иметь проблемы с различными прописными буквами.)Обычно я заставляю www.example.com использовать IP-адрес сервера B в моем / etc / hosts. Я делал это с тех пор, как использовал Mosaic, и так как я делаю это нечасто, я не чувствовал необходимости искать лучшее.
Осмотревшись немного, я нашел /superuser/403042/custom-host-file-for-firefox, на который отвечает https://addons.mozilla.org/es/firefox/addon/. foxyproxy-standard /, но в одном недавнем сообщении говорится, что он заброшен.
источник
Если вам нужно проверить , если он работает, я советую простой Broswer плагин , как
Modify Headers
для Firefox, и изменитьHOST
кwww.mydomain.com
.источник