免费注册 查看新帖 |

Chinaunix

  平台 论坛 博客 文库
最近访问板块 发新帖
查看: 2866 | 回复: 5
打印 上一主题 下一主题

[Web] apahce基于名字的虚拟主机,如何根据同一个IP来区分不同网站 [复制链接]

论坛徽章:
0
跳转到指定楼层
1 [收藏(0)] [报告]
发表于 2005-10-14 15:01 |只看该作者 |倒序浏览
最近配虚拟主机,都很成功,但是想到这样一个问题,就是apache服务器是如何根据同一个IP来区分不同网站的
我得例子如下:
配置一个apache服务器,其中
DNS的配置为;

  1. www.test.com.    IN    A     192.168.100.10
  2. aaa.test.com.      CNAME    www
  3. bbb.test.com.      CNAME    www
复制代码

httpd.conf中虚拟主机的配置为:

  1. NameVirtualHost  192.168.100.10

  2. <VirtualHost  192.168.100.10>;
  3. ServerName  www.test.com
  4. DocumentRoot  /var/www/html
  5. </VirtualHost>;


  6. <VirtualHost  192.168.100.10>;  
  7. DocumentRoot  /var/www/html/aaa
  8. ServerName  aaa.test.com  
  9. </VirtualHost>;  

  10. <VirtualHost  192.168.100.10>;  
  11. ServerName  bbb.test.com
  12. DocumentRoot  /var/www/html/bbb
  13. </VirtualHost>;

复制代码


在访问的时候,我们在浏览器中输入www.test.com aaa.test.com  bbb.test.com将得到不同的内容,正常实现了虚拟主机的功能,
当使用IP地址直接访问的时候,根据apache的说明文档,应该总是指向第一个,也就是www那个网站,但是这样问题也出现了,
访问者向DNS进行查询的时候,DNS返回给访问者的也是192.168.100.10这个IP阿,用户应该是通过这个IP来访问到web服务器的,但是为什么这样就可以区分不同的虚拟主机,而直接在浏览器中输入IP就只能指向默认得网站。
难道DNS给我们的IP和我们直接输入IP访问服务器是不一样的吗,不一样在哪里那,是DNS返回的信息不一样,还是httpd上有什么特殊处理

论坛徽章:
0
2 [报告]
发表于 2005-10-14 15:18 |只看该作者

apahce基于名字的虚拟主机,如何根据同一个IP来区分不同网站

DNS 查询出的不是 192.168.100.10 会是什么?

论坛徽章:
1
技术图书徽章
日期:2013-12-05 23:25:45
3 [报告]
发表于 2005-10-14 15:35 |只看该作者

apahce基于名字的虚拟主机,如何根据同一个IP来区分不同网站

难道,客户的浏览器,不把网址信息发送给服务器么?

不然怎么区别:
http://www.test.com/1.htm
http://www.test.com/2.htm
.....
http://www.test.com/n.htm

既然有了网址信息,那服务器还不知道是谁啊

论坛徽章:
0
4 [报告]
发表于 2005-10-14 17:34 |只看该作者

apahce基于名字的虚拟主机,如何根据同一个IP来区分不同网站

设置虚拟主机排在最前面的就是默认访问的。

论坛徽章:
0
5 [报告]
发表于 2005-10-15 14:23 |只看该作者

apahce基于名字的虚拟主机,如何根据同一个IP来区分不同网站

我得理解是不是有这两种可能性
1,DNS返回的IP地址后面还有一个域名的字段标记
2,浏览器得到了DNS的IP解析以后,在向web服务器请求的时候,会把web服务器的域名一起放在请求信息中,这样web服务器先通过IP确定自己,在通过域名确定是哪个虚拟主机

不知道对不对

论坛徽章:
1
技术图书徽章
日期:2013-12-05 23:25:45
6 [报告]
发表于 2005-10-15 16:14 |只看该作者

apahce基于名字的虚拟主机,如何根据同一个IP来区分不同网站

DNS一般不返回域名的标志,除非该域名做了反解。

一般是通过ip得不到域名的。
而通过域名是可以得到ip的。

而http协议,会把你请求的网址包含在数据包里面。



这样web服务器先通过IP确定自己,在通过域名确定是哪个虚拟主机
这个错误。

应该是客户端主动去找服务器的,而不是服务器通过IP来确定的。
您需要登录后才可以回帖 登录 | 注册

本版积分规则 发表回复

  

北京盛拓优讯信息技术有限公司. 版权所有 京ICP备16024965号-6 北京市公安局海淀分局网监中心备案编号:11010802020122 niuxiaotong@pcpop.com 17352615567
未成年举报专区
中国互联网协会会员  联系我们:huangweiwei@itpub.net
感谢所有关心和支持过ChinaUnix的朋友们 转载本站内容请注明原作者名及出处

清除 Cookies - ChinaUnix - Archiver - WAP - TOP