У меня есть маршрутизатор Vodafone "EasyBox 904 xDSL", у которого есть интерфейс администрирования, обращенный к локальной сети, на http (не https) на порту 80. Я могу получить доступ к нему нормально, когда я использую
http://[ip of the router]
Для удобства я добавил запись в наш локальный DNS-сервер, которая указывает на этот IP-адрес.
Проверка этого адреса подтверждает, что поиск по имени работает:
ping router.our.domain
PING router.our.domain ([ip of the router]) 56(84) bytes of data.
64 bytes from _gateway ([ip of the router]): icmp_seq=1 ttl=64 time=0.448 ms
(обратите внимание на "_gateway" в ответе, не знаю, откуда это взялось) , но когда я пытаюсь использовать это имя в веб-браузере , Я получаю сообщение об ошибке http 400:
http://router.our.domain
Просто чтобы убедиться, что это не артефакт веб-браузера, который я использовал w3m:
400 Bad Request
Your Client sent a query that this server could not understand
Reason: Invalid HOST
Браузер подключается напрямую, прокси-сервер не задействован.
Я предполагаю, что это как-то связано с тем, что веб-сервер маршрутизатора пытается сопоставить имя с именем локального хоста и терпит неудачу. Но это только предположение. Я не смог найти настройку имени хоста в конфигурации маршрутизатора.
Есть какие-нибудь намеки на то, что я мог бы попытаться найти причину?
Похоже, веб-серверу в устройстве не нравится поле host
в HTTP-запросе, и он поддерживает соединения только по IP-адресу или по некоторому специальному имени хоста.
В документации сказано, что для подключения к дополнительному веб-интерфейсу вы должны использовать доменное имя easy.box
или IP-адрес 192.168.2.1
.
_gateway
в выводе ping происходит обратный поиск адреса (разрешение доменного имени по IP-адресу) с помощью встроенного DNS-сервера. Вы можете избежать обратного поиска с помощью опции ping -n
.