解决服务器80端口监听异常导致无法打开和访问网站的问题
2017-09-27 14:07
866 查看
如果遇到IIS服务器的网站无法访问,并在IE/EDGE浏览器中显示无法显示此页的问题,一般情况下是有多种可能因素,我遇到的情况是由于服务器网络配置错误,造成系统没有正确监听公网IP和80端口,因为这样才导致了IIS服务器根本没办法与公网连接!
我排查了各种可能存在的因素:包括防火墙配置,网络被运营商封堵,WEB服务器配置错误等。另外我还和域名商确定过域名解析是没问题的,网站也成功备案,IIS上也对域名进行了绑定。后面在阿里云后台提交了工单,和他们的售后工程师沟通后,才找出是自己服务器的IP和端口监听配置错误。具体的症状如下,在IIS中如果不设置绑定的域名主机和IP,使用默认的localhost或127.0.0.1可以正常打开网站,如果使用公网IP和域名绑定,就无法打开网站!关于这个问题各个浏览器提示大体有这几种:
无法显示此页。确保WEB地址正确
网络连接错误
ERR_CONNECTION_TIMED_OUT,响应时间过长,导致无法加载网页,该网站可能已崩溃。
连接超时,此站点暂时不可用或者太忙。请稍后再试。
解决方法是使用NetSH(Windows的网络配置命令行工具),修改正确的监听端口和IP地址。具体操作步骤如下:
首先打开CMD命令提示符,可以通过Win+R打开运行窗口后输入cmd,在cmd中输入命令:
netstat -ano | findstr 80
这条命令主要是用于查看80端口的监听情况,我的情况如下(由于是新服务器,只有一条记录):
这里就是问题所在,80端口只监听本地127.0.0.1的回环地址,也就是公网IP并没有被服务器列入监听(外网无法访问)!正确的应该是0.0.0.0:80,表示80端口被所有IP/网卡监听(内外网地址都可以访问):
那么接下来就要使用netsh命令进行修改了,先在cmd控制台输入:
netsh http show iplisten
先查看当前IP地址的监听情况,默认的监听列表是空白的,如果有显示出IP地址,就要检测是否设置有误。上图中我的配置就是有问题的,不应该只侦听127的地址!
如果是专业的服务器运维人员,这边根据自己网络环境进行修正就可以。像我这种半桶水的解决方法就是删除掉所有的IP侦听,这样服务器就会默认监听所有的IP。我的情况只要删除只本地回环地址就可以了:
netsh http delete iplisten ipaddress=127.0.0.1
其实可以仔细回想下自己是否有运行过netsh http add iplisten命令,这就是问题的根源。删除掉其他的侦听IP后,服务器就会重新侦听所有内外网的IP,最好重启下服务器!重启后网站即可正常访问了。
PS:建议最后再用"netstat -ano | findstr 80"命令和"netsh http show iplisten"命令检查下!
版权声明:本文由十有三创作,采用知识共享署名-相同方式共享 4.0 国际许可协议进行许可。欢迎转载本文,转载请务必署名-保留作者名称及出处:http://shiyousan.com/post/636323595672171015。
我排查了各种可能存在的因素:包括防火墙配置,网络被运营商封堵,WEB服务器配置错误等。另外我还和域名商确定过域名解析是没问题的,网站也成功备案,IIS上也对域名进行了绑定。后面在阿里云后台提交了工单,和他们的售后工程师沟通后,才找出是自己服务器的IP和端口监听配置错误。具体的症状如下,在IIS中如果不设置绑定的域名主机和IP,使用默认的localhost或127.0.0.1可以正常打开网站,如果使用公网IP和域名绑定,就无法打开网站!关于这个问题各个浏览器提示大体有这几种:
无法显示此页。确保WEB地址正确
网络连接错误
ERR_CONNECTION_TIMED_OUT,响应时间过长,导致无法加载网页,该网站可能已崩溃。
连接超时,此站点暂时不可用或者太忙。请稍后再试。
解决方法是使用NetSH(Windows的网络配置命令行工具),修改正确的监听端口和IP地址。具体操作步骤如下:
首先打开CMD命令提示符,可以通过Win+R打开运行窗口后输入cmd,在cmd中输入命令:
netstat -ano | findstr 80
这条命令主要是用于查看80端口的监听情况,我的情况如下(由于是新服务器,只有一条记录):
这里就是问题所在,80端口只监听本地127.0.0.1的回环地址,也就是公网IP并没有被服务器列入监听(外网无法访问)!正确的应该是0.0.0.0:80,表示80端口被所有IP/网卡监听(内外网地址都可以访问):
那么接下来就要使用netsh命令进行修改了,先在cmd控制台输入:
netsh http show iplisten
先查看当前IP地址的监听情况,默认的监听列表是空白的,如果有显示出IP地址,就要检测是否设置有误。上图中我的配置就是有问题的,不应该只侦听127的地址!
如果是专业的服务器运维人员,这边根据自己网络环境进行修正就可以。像我这种半桶水的解决方法就是删除掉所有的IP侦听,这样服务器就会默认监听所有的IP。我的情况只要删除只本地回环地址就可以了:
netsh http delete iplisten ipaddress=127.0.0.1
其实可以仔细回想下自己是否有运行过netsh http add iplisten命令,这就是问题的根源。删除掉其他的侦听IP后,服务器就会重新侦听所有内外网的IP,最好重启下服务器!重启后网站即可正常访问了。
PS:建议最后再用"netstat -ano | findstr 80"命令和"netsh http show iplisten"命令检查下!
版权声明:本文由十有三创作,采用知识共享署名-相同方式共享 4.0 国际许可协议进行许可。欢迎转载本文,转载请务必署名-保留作者名称及出处:http://shiyousan.com/post/636323595672171015。
相关文章推荐
- 手机访问网站提示“网络信号不佳 无法打开网页” 服务器解决办法
- 解决Chrome浏览器打开新标签页,显示“无法访问此网站 连接已重置”的问题【在54.0 beta版上测试通过】
- 如何解决更改解决服务器IP,导致应用程序无法访问SQL SERVER的问题?
- 记一次网站无法访问解决过程,服务器80端口问题解决过程
- 记一次网站无法访问解决过程,服务器80端口问题解决过程
- vmware异常关闭后导致虚拟机无法打开问题解决办法
- 搭建IIS服务器80端口却已被占用的问题和用了Sc config http start= disabled命令导致HTTP服务无法启动的解决方案
- Apache2服务器因为端口被占用导致无法访问的解决方法
- 搭建IIS服务器80端口却已被占用的问题和用了Sc config http start= disabled命令导致HTTP服务无法.
- 解决阿里云服务器3306端口无法访问的问题(windows server 2008r2)
- 解决因为google cdn无法访问导致无法打开stackoverflow等网站的方法
- 还为使用google搜索找不到自己要的技术文章吗?彻底解决访问google域名地址搜索网站间歇访问无法找到服务器的问题
- vs提示:无法打开网站...的433端口没有服务器
- 关于vs2005中网站管理工具中的“安全 ”选项无法打开和缺少AspNetDB.mdf数据库的问题解决办法
- 解决对外发布的WEB服务器无法访问的问题
- 基于WEB服务器导致消息中心各组件之间无法正常工作的问题分析与解决
- 技术贴】QQ空间打开缓慢,无法编辑日志,由于您当前网络不稳定导致QQ空间打开异常的解决办法。
- WINDOWS XP 系统无法访问中心FTP服务器的问题解决
- 如何解决由于服务过多或异常导致ArcGIS Server 无法正常运行的问题
- defer属性导致引用JQuery的页面报“浏览器无法打开网站xxx,操作被中止”错误的解决方法