摘要
维护的网站根域名突然无法访问,报HTTP Error 404. The requested resource is not found。该报错与IIS 404(服务器错误404 – 找不到文件或目录)不一样,我开始时都错误的当成IIS404处理(通过查看IIS log可区分HTTP Error 404和404 – 找不到文件或目录,后者在IIS log中有404记录,而前者是没有记录的)。该问题是由于站点绑定问题导致,需要检查站点绑定是否正确,我的问题都是由于阿里云服务器网络迁移,导致服务器IP变动,而站点之前绑定的是公网IP,变动之后是内网IP,导致站点绑定出错,进而出现该问题。
问题描述
维护的网站根域名突然无法访问,报HTTP Error 404. The requested resource is not found。网站之前还可以正常访问,当初配置好的时候,访问没有任何问题,现在却突然报这个问题。
解决过程
开始处理时错将该问题当做是IIS 404(服务器错误404 – 找不到文件或目录),因为根域名是做301跳转https://www.bluepost.cn,就认为是IIS配置有问题,一直调试IIS配置,却怎么调试都调不好。后来静下心来,仔细从头开始分析问题,这时就查看IIS log日志,发现日志中找不到404的日志记录,却发现绑定的其他站点(如http://www.bluepost.cn)的服务器IP地址变了,由120.35.15.57变为172.16.14.28。看到这里,怀疑是由于站点绑定IP地址有问题,重新配置站点绑定,配置时IP地址下拉列表中没有之前设定的公网IP地址120.35.15.57,只有内网的IP的地址172.16.14.28,将绑定地址改为“全部未分配”,再次访问网站,立马正常。
IIS log日志—站点服务器IP由120.35.15.57变为172.16.14.28
2019-07-11 16:05:16 120.35.15.57 GET /images/model.jpg - 80 - 220.181.37.133 Mozilla/5.0+(Windows+NT+5.1;+rv:8.0.1)+Gecko/20100101+Firefox/8.0.1 301 0 0 15
2019-07-11 16:11:19 172.16.14.28 GET /news/36.html - 80 - 45.43.195.58 Mozilla/5.0+(Windows+NT+10.0;+Win64;+x64)+AppleWebKit/537.36+(KHTML,+like+Gecko)+Chrome/70.0.3538.67+Safari/537.36 301 0 0 7220
问题原因
报错的站点为根域名站点,做301跳转到https://www.bluepost.cn(使用的是IIS HTTP重定向),只有该站点http://bluepost.cn报错(站点绑定IP地址选的是“120.35.15.57”公网IP地址),而http://www.bluepost.cn站点(站点绑定IP地址选的是“全部未分配”)却没有问题。网站服务器用的是IIS7,https只能配置一个站点,https站点绑定IP地址选的是“全部未分配”。该问题之所以未能及时发现与找到解决方法,主要原因是根域名在平时输入时浏览器都自动选择为https://www.bluepost.cn;次要原因是阿里云服务器升级并非本人主动操作升级的,是阿里云自动升级的,还有就是站点配置由不同的维护人员操作,站点配置不统一(站点绑定IP地址,有些站点选的是“全部未分配”,有些选的是“IP地址”)。
而为什么网站IP会变动呢,经分析是由于阿里云自动对ECS服务器实例迁移升级导致,吐槽一下:还是被阿里云的霸王条款坑了。查找升级通知信息,从中可以看出阿里云对于升级采取的策略是只要客户不取消升级,就自动升级,而且升级后还会导致服务器内网IP变动。以下是关于物理机升级实例重启通知的部分内容。
由于您在 华东 1 地域的 ECS 实例到截止日期 2019年6月1日 尚未预约迁移,系统将于 2019-07-12 00:05:00 对该实例进行重启。
目前,您仍可修改重启时间或取消迁移重启,请及时到 全部事件 页面修改或提交工单反馈;如在默认重启日期前未修改重启时间或收到反馈,阿里云将按照默认设置的时间重启实例。
IP地址变化:本次升级将保持您的 ECS 实例公网 IP 地址不变,内网 IP 从目标 VPC/VSwitch 网段中随机选择。
如果ECS实例的公网带宽大于0 Mbit/s,迁移后公网IP地址保持不变,但会删除公网网卡,以NatIP取而代之。
经验总结
这次给自己最大的教训就是,遇到问题,千万不能想当然,如果把问题都理解错了,自然很难找到解决方法。
还有就是遇到问题,要从头找到,不要急于求成,仔细解读问题,认真分析log,一个都不能少。
再给大家推荐个福利 — PHPCMS V9最新版持续更新、提供免费下载
由于PHPCMS官方已经不再更新,为了能更好的继续使用PHPCMS,我在Github上持续更新PHPCMS,不仅仅修复了目前存在的漏洞,还增加支持https,PHP7等功能,还提供完整版免费下载。仅限个人学习使用,请勿用于商业用途,如需商业使用,请联系获得授权。点击查看phpcms v9版本介绍持续更新中 – 支持https 支持PHP7,提供完整版免费下载
phpcms v9 Github仓库地址:https://github.com/Abel-Lan/phpcms
phpcms v9 最新版本下载地址:https://github.com/Abel-Lan/phpcms/releases
转载请注明:半亩方塘 » 网站突然无法访问HTTP Error 404. The requested resource is not found