我有一台沃达丰“EasyBox 904 xDSL”路由器,它有一个面向 LAN 的管理接口,位于端口 80 上的 http(不是 https)。当我使用
http://[ip of the router]
为了方便起见,我在我们的本地 DNS 服务器中添加了一个指向该 IP 的条目。
对该地址进行 ping 操作可确认名称查找有效:
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”,不知道它是从哪里来的)但是当我尝试在 Web 浏览器中使用该名称时,出现 http 错误 400:
http://router.our.domain
为了确保这不是网络浏览器的产物,我使用了 w3m:
400 Bad Request
Your Client sent a query that this server could not understand
Reason: Invalid HOST
浏览器直接连接,不涉及代理。
我猜这与路由器的 Web 服务器尝试将名称与本地主机名匹配但失败有关。但这只是猜测。我在路由器配置中找不到主机名的设置。
关于我可以尝试找出原因的任何提示?
答案1
似乎设备中的 Web 服务器不喜欢host
HTTP 请求中的字段,并且仅支持通过 IP 地址或某些特殊主机名进行连接。
文档说要连接到管理 Web 界面您应该使用域名easy.box
或 IP 地址192.168.2.1
。
ping 输出中的_gateway
来自于使用内置 DNS 服务器的反向地址查找(通过 IP 地址解析域名)。您可以使用-n
ping 选项来避免反向查找。