我的 Windows 8.1 Pro 笔记本电脑遇到了一个非常奇怪的问题:我无法从任何网络浏览器访问 127.0.0.1。但等等,事情变得更奇怪了!
设置
我的操作系统安装了以下程序(以及其他程序):
- XAMPP 服务器,其中 Apache、PHP 和 MySQL 服务器在常用端口 (80、443 和 3306) 上运行
- Spotify
- 下载中心
为了确保我已经阅读了有关该主题的大多数其他问题,以下是一些相关方面:
- 我很确定这与恶意软件无关
- 我的 HOSTS 文件是 Windows 自带的默认文件
- 在“局域网(LAN)设置”对话框中,我只选中了“自动检测设置”
- IPv4/IPv6 协议均有此配置:
问题
虽然我可以从访问我的本地网络服务器http://本地主机/,访问http://127.0.0.1/来自 Google Chrome 的返回ERR_NETWORK_ACCESS_DENIED
。它在 IE 或 Firefox 上也不工作。
真正的问题是,我还可以从http://192.168.1.XXX/(我的机器的本地 IP 地址是什么)。
那么,Spotify 和 JDownloader 怎么样?
你问的是 Grad!这就是我如此担心这个问题的原因:这也会影响我电脑中的其他程序。
对于那些不知道的人来说,Spotify 有一个内置的网络服务器,可以播放网络上的歌曲(更多信息请访问https://stackoverflow.com/questions/7580175/what-is-the-advantage-of-having-a-domain-name-spotilocal-that-resolves-to-127)。在试用这个很棒的功能时,我发现它在我的计算机上不起作用:
如您所见,所有对 spotilocal.com(即 127.0.0.1)的呼叫都被拒绝。
另一个例子是 JDownloader 2,它也有一个内置的 Web 服务器(https://support.jdownloader.org/Knowledgebase/Article/View/42/0/jd-opens-my-browser-to-display-captchas)。
每当 JDownloader 需要用户解决验证码时,它都会在默认浏览器中打开如下 URL:http://127.0.0.1:24613/XXXXXXX/?id=XXXXXXXXXXXX
当然,我总是得到ERR_NETWORK_ACCESS_DENIED
。
任何帮助都将不胜感激。提前致谢!
编辑
为了回应我忘记提及的所有事情:
- ping 127.0.0.1 没问题:
- 我可以从访问 XAMPPhttp://[::1]/,但不包括 Spotify 或 JDownloader(来自其各自的端口)
- 在 XAMPP 的“httpd.conf”中,监听行是
Listen 80
,服务器名称是ServerName localhost:80
- 我安装了卡巴斯基安全软件 2016,但关闭后问题仍然存在
答案1
鉴于您最近的编辑,请将ServerName localhost:80
其更改ServerName *:80
为 Apache。
它的作用是查看传入的服务器名称请求,并确定它将响应发往localhost
(不是127.0.0.1
)端口 的请求80
。我们希望它监听任何系统所具有的接口或IP地址,以及在端口80上提供网站服务。
是的,localhost
应该始终解析为 127.0.0.1,但如果请求不是这样,我们需要在某处匹配它。目前,没有匹配。使用*:80
意味着任何之前未匹配的请求都将转到该配置节。
答案2
我终于解决问题了!
显然,无论出于什么原因,LAN 驱动程序都无法正常工作,因此我将其卸载,然后安装了最新版本。
万一有人遇到和我一样的问题,我的 LAN 驱动程序是“Qualcomm Atheros 性能套件”,又称“杀手网络管理器”。
答案3
你打开了 Skype 吗?它默认绑定端口 80,这会导致类似这样的烦人问题。