汇聚有关Bad Request 问题的相关集合!方便将来遇到了类似的问题快速解决!
总结页面出现Bad Request (Invalid Hostname)的原因:
1.如果确定域名已经解析生效,但是仍然不能访问,出现Bad Request (Invalid Hostname).那么这就可能是您没有绑定该域名的原因(估计是此域名没有绑定到服务器的站点上面)
2.也有一部分情况, 比如一部分程序你上传之后就是用服务商提供的三级域名访问也是那个样子。也会有Bad Request (Invalid Hostname的错误提示
3.也许是限制了访问线程。也就是说当同时访问该网页超过一定人数的时候,其它人浏览时就会出现你所说的情况
1. Bad Request (Invalid Hostname)的原因 字面上理解,bad
request意思是“错误的请求",invalid
hostname意思是"不存在的域名”,通常只用Windows主机才会出现这样的字样,如果是Linux主机,会显示不同的错误提示。而且这种情况也
指出现在虚拟主机的情况下,就是一个服务器建了很多网站,域名虽然解析到了
服务器,但是域名没有给安排去和哪一个网站匹配,当然就打不开网站了,这也就是说通常说的
域名绑定或者增加主机头。所以bad request invalid
hostname出现这个错误的原因是某个域名绑定到了某个主机上,而该主机却没有绑定这个域名,所以IIS就返回了这个提示信息。
PS:以下的解释我觉得颇有道理
IIS为了提供支持一个IP支持多个域名的功能,增加了主机头。
所以一个域名解析到正确的网站实际上是由3部分来确定的:IP地址,端口和主机头。
当没有配置主机头时,因IP和站点一对一,这时候无论是输入域名还是IP都能解析到正确的网站。
当设置了主体头支持多个域名时,IP和站点已是一对多(一台服务器上面跑了多个站点即多个域名),这个时候通过IP来访问,IIS已不知道要对应到哪个网站了。故无法访问。而用域名来访问,不仅是依靠IP和端口,IIS还会验证是否主机头对应,从而指向正确的网站。
PS:所以如果遇到出现Bad Request错误的时候要注意是否有配置主机头!
参考资料:
1、查看域名生效
nslookup命令使用方法:开始-----------运行-----------输入cmd,然后回车-----------输入需要的命令
查询域名A记录是否生效
使用方法:nslookup+空格+域名,见下图
adress项则为该域名或二级域名指向的IP地址。
PS:这种写法表示一个域名是否生效了。即可以被解析到指定的IP地址。
查询域名的MX记录是否生效
使用方法:nslookup+空格+ -qt=mx +空格+域名,见下图
以上图中显示的IP地址即为域名MX记录中指向的IP
查询域名的DNS是使用的哪家公司的DNS服务器
使用方法:nslookup+空格+-qt=ns+空格+域名,见下图
上图中给出了域名的两个DNS服务器,并且在下面给出了两个DNS服务器分别在互联网中的IP地址。
说明:nslookup命令的显示结果有时为超时,这并不能说明域名DNS服务器速度慢,只能说明客户端网络不通畅,请重新测试,即可成功。如果需要查看
域名的别名记录(CNAME记录),则命令如下:nslookup+空格+-qt=cname+域名,即可得到域名解析的别名记录。
2、
绑定域名
绑定域名是指,把你要使用的域名,绑定在你的上面。
PS:假如一个IIS站点上面有十个站点应用,而这十个分别绑定了十个域名即可能是十个用户的网站空间。
之前我有做过测试一个IIS上面布置两个站点,然后配置我HOSTS文件做如下的映射
192.168.100.40:801
192.168.100.40:802
这样能够正常实现域名绑定。我想绑定域名的性质与此相关吧。
更专业点的说法就是,把你的网站域名,绑定在你的服务器站点上面。
如果说你已经申请了一个域名,同时也申请了一个,那么怎么让别人通过你的域名访问到已经上传到空间上的网站呢?
需要两个步骤:
1、先把你申请的域名做解析,把域名的A记录,指向你的IP地址上面,这个过程叫:域名解析。
2、在你的上面绑定你的域名。
PS:我的理解应该是一个服务器配置多个IIS站点的时候,每个站点其端口不一样通过将每个站点指定的IP:端口号 与域名进行绑定做好映射,就可以实现域名绑定操作
3、三级域名
示例 blog.tianya.cn
tianya.cn 是域名
cn 是顶级域
tianya 是cn的一个子部分,代表第二级域名
blog 是子域(称第三级域名或CNAME)
阅读(1038) | 评论(1) | 转发(0) |