我有一台机器正在运行一个网站。它实际上只是一台开发机器,但上面有 IIS 用于测试目的。问题是,当使用机器名称在 Internet Explorer 中加载页面时,请求会发送到代理服务器,并返回错误:
所请求的网址无法检索
尝试检索 URL 时: http://seed-dev1.hull.ac.uk:5555/
遇到了以下错误:
无法根据 seed-dev1.hull.ac.uk 的主机名确定 IP 地址。DNS 服务器返回:
名称错误:域名不存在。这意味着:
缓存无法解析 URL 中显示的主机名。请检查地址是否正确。您的缓存管理员是网站管理员。
由 slb-webcache-east.hull.ac.uk (squid/2.6.STABLE22) 于 2009 年 6 月 4 日星期四 16:18:33 GMT 生成
这个错误是有道理的,因为机器实际上是 seed-dev1.net.dcs.hull.ac.uk。无论如何,我都不想让它转到本地地址的代理服务器。不仅在代理设置中勾选了“绕过本地地址的代理服务器”,而且我还添加了例外,因此它不应该使用以“*.hull.ac.uk; localhost; 127.0.0.1; seed-dev1”开头的地址的代理。我可以确认例外至少是有效的,因为我可以访问 hull.ac.uk 中的任何页面,如果我没有将其放入例外列表中,我将无法访问这些页面。
由于这不起作用,我进一步转到 C:\Windows\system32\drivers\ect 中的 hosts 文件
并添加一行将其更改为:
127.0.0.1 本地主机 127.0.0.1 SEED-DEV1
快速重启后仍然无法正常工作。我尝试使用机器名称访问的任何页面都只会从代理返回该错误页面。对于单个页面,使用 localhost 非常好,但当您单击链接时,它只会切换回 url 中的机器名称。
任何关于我可以尝试的东西的建议都会很感激
答案1
我们先尝试一些简单的:
(在 Internet Explorer 中;我假设您使用 IE,因为您在 127.0.0.1 上运行 IIS,并且引用了 \drivers\etc 中的 hosts 文件。)
1.) 导航至“工具”、“Internet 选项”、“连接”、“LAN 设置”。
2.) 确保已选择“绕过所有本地地址的代理服务器”。
现在,嗯。假设您正在运行内部 DNS 服务器/私有 IP 地址:
3.) 在命令提示符中运行:“ipconfig /registerdns”
4.)确保您可以使用其内部 IP 地址正向和反向 ping 您的机器名。
5.) 如果“localhost”不起作用,请尝试在命令提示符下 ping localhost,它会解析为 127.0.0.1,是吗?
让我们清理该 hosts 文件:
5.) 确保您的 hosts 文件没有被无意地以“.txt”扩展名保存。如果是这样,请将其删除。
6.) 在您的 LAN/适配器设置中,确保您没有任何要附加的 DNS 后缀。
好奇想知道这些是否能解决问题。
答案2
检查您的 IE 区域 - 我曾见过这种情况:IE 有时会将本地服务器置于 Internet 区域,从而导致其忽略“绕过代理”设置。尚未找出原因,但它似乎与非标准端口或服务器不是与客户端相同的 Windows 域的成员有关。说实话,我并没有花太多时间研究这个问题;一旦我找到解决方案,我就会继续前进。
您应该能够明确地将此服务器添加到您的 Intranet 区域,从而触发代理绕过;否则,您将需要明确地将服务器的 FQDN 添加到您的“绕过代理”列表中。
答案3
这并非完全相关,但这个问题在我的谷歌搜索中出现了。
从https://support.microsoft.com/en-us/kb/262981:
当您使用本地网络上的 Internet 协议 (IP) 地址或完全限定域名 (FQDN) 连接到 Web 服务器时,即使打开了“绕过本地地址的代理服务器”选项,Microsoft Internet Explorer 或 Windows Internet Explorer 也会通过指定的代理服务器进行连接。
但是,如果使用主机名连接到 Web 服务器(例如,http://网络服务器)而不是 IP 地址(例如,http://10.0.0.1)或 FQDN(例如,http://webserver.域名.com),将绕过代理服务器,Internet Explorer 直接连接到服务器。
解决:
要绕过某个范围的 IP 地址或特定域名,请指定代理例外列表中的地址:
在 Internet Explorer 中的“工具”菜单上,单击“Internet 选项”。在“连接”选项卡上,单击“LAN 设置”。单击“高级”,然后在“例外”区域中键入适当的信息。
答案4
如果您的代理例外列表是通过注册表手动注入的,并且;
最后一个值后面缺少分号,则会发生这种情况。原因是注册表将复选框存储在注册表例外字符串的末尾,如果<local>
缺少最后一个分号,则永远不会正确解析它。
可以在此处查看单个用户的注册表项:
HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\Internet Settings
...或者对于在整个计算机范围内设置的环境:
HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\Internet
设置
这很可能是 IE11 的一个错误,但他们不太可能修复它。手动添加例外时,UI 会默默插入这个分号。
可能出现的其他症状是... 类似这样的网站http://intranet
可能会被错误地.com
附加后缀或显示 404 页面未找到(取决于代理软件)。某些页面和重定向将停止运行,您甚至可能会发现自己取消了“启用保护模式”的点击,但事实并非如此... 而是分号。
如果这种情况在 2018 年开始发生,则可能是由 Windows 更新触发的,尽管没有源代码或咨询 Microsoft 就不可能知道。以下是 2018 年 7 月的 Windows 更新文本,可能是罪魁祸首……
2018 年 7 月 10 日 - KB4338818(月度汇总) 解决 DNS 请求忽略 Internet Explorer 和 Microsoft Edge 中的代理配置的问题。