linux 通过主机头访问,多主机头网站也能用IP地址访问

大家都知道IIS包括其他WEB服务器都可以建立多个站点,而如何区分多个站点有几种解决方案,当然最合适的解决方案就是绑定域名,也就是IIS上的主机头。

一般的web服务器一个ip地址的80端口只能正确对应一个网站,处理一个域名的访问请求。而web服务器在不使用多个ip地址和端口的情况下,如果需要支持多个相对独立的网站就需要一种机制来分辨同一个ip地址上的不同网站的请求,这就出现了主机头绑定的方法。举个例子来说,一台服务器ip地址为192.168.1.10,有两个域名和对应的空间在这台服务器上,使用的都是192.168.1.10的80端口来提供服务。

当一台主机绑定了多个域名后就不能用IP地址访问了,我们看一下web请求过程就明白了,

如果只是简单的将两个域名A和B的域名记录解析到这个ip地址,那么web服务器在收到任何请求时反馈的都会是同一个网站的信息,这显然达不到要求。接下来我们使用主机头绑定域名A和B到他们对应的空间文件夹C和D。当含有域名A的web请求信息到达192.168.1.10时,web服务器将执行它对应的空间C中的首页文件,并返回给客户端,含有域名B的web请求信息同理,只不过解释的是空间D的文件。所以在使用主机头绑定功能后就不能使用ip地址访问其上的任何网站了,因为请求信息中不存在域名信息,所以会出错。

不过这也不是绝对的,通过其它方法我们还可以使用IP地址访问,比如我在一个站点里绑定一个主机头值为空的站点,这样就实现了IP地址访问。

一个实例,解决泛域名解析带来的问题,比如我的welos.cn域名通过泛域名解析*.welos.cn解析到我的站点,因为前面设置了可以使用IP地址访问,那么我使用任何二级域名如xxx.welos.cn都可以访问站点,通常我们的站点都有cookie作用域,这就导致了其它域名访问无法保存登录信息。

解决这个问题就要使用301重定向了,首先我们需要有一个绑定了首选域名的站点,比如然后新建一个站点,不绑定任何域名(同时保证没有其它站点不绑定域名或可以通过IP访问的站点),将此站点做301重定向到,那么在以后使用任何非首选域名访问都会自动跳转到首选域名。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值