首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >初学者对访问域名如何解析到web服务器IP有什么解释?

问初学者对访问域名如何解析到web服务器IP有什么解释?
EN

Server Fault用户
提问于 2010-02-24 21:36:49
回答 1查看 115关注 0票数 0

我有一个Apache web服务器,它使用相同的域名,但使用不同的子域,托管了几个Django站点:

代码语言:javascript
复制
proj1.example.com
proj2.example.com
proj3.example.com

上面每一个的apache配置文件都是这样开始的:

代码语言:javascript
复制
<VirtualHost *:80>
    ServerName proj1.example.com

假设服务器的外部IP是200.x.x.x,而它的内部IP是10.x.x.x,那么如果我想向服务器添加一个新的子域名(proj4.example.com),应该使用哪一个IP?我通常做的是web和基本的apache配置,我仍然不清楚接下来会发生什么。有人能给我一个彻底的解释什么需要设置和正在发生什么一旦我已经为一个新的网站设置了apache配置文件?

EN

回答 1

Server Fault用户

回答已采纳

发布于 2010-02-24 21:50:29

要快速回答您的问题,您不需要担心配置的IP地址,域名/别名是您唯一需要担心的问题,因为apache将使用浏览器传递的HTTP_HOST头。

代码语言:javascript
复制
<VirtualHost *:80>
    ServerName proj1.example.com
    DocumentRoot /path/to/proj1
</VirtualHost>
<VirtualHost *:80>
    ServerName proj2.example.com
    DocumentRoot /path/to/proj2
</VirtualHost>
<VirtualHost *:80>
    ServerName proj3.example.com
    DocumentRoot /path/to/proj3
</VirtualHost>

长篇大论的解释.

用拉蒙的话来说,这里有两个独立的东西在发生。

  1. 将域名解析为IP
  2. 向设置虚拟主机的服务器发送web请求

将域名解析为IP

当浏览器被告知要拉出一个页面时,它做的第一件事就是为proj1.example.com做DNS查找。DNS请求首先到达根服务器,然后说“谁控制example.com",然后根服务器指向控制.com域的DNS服务器,然后对DNS服务器说”谁控制example.com",然后转到您的DNS服务器,然后说“proj1.example.com的IP地址是什么”。您的DNS服务器说,“哦,这是IP x.x”,这是外部IP地址。浏览器将向您的IP发送请求,这时,您的路由器将其转发到您的服务器(带有内部IP地址)。web服务器的IP地址不是HTTP请求/响应的一部分,因此不需要它。

从web服务器

请求内容

您的浏览器现在知道该iP地址,并向您的IP发送请求。请求的内容如下:

代码语言:javascript
复制
GET http://proj1.example.com/path/being/requested HTTP/1.0
Host: proj1.example.com
User-Agent: [blah blah blah]
Cookie: [cookie info]

这个反应看起来就像

代码语言:javascript
复制
HTTP/1.0 200 OK
(new line)
<html>
...
</html>

Apache通过主机/url中的域名知道请求的主机,并相应地提取内容。

更多的文档可以在这里找到:http://httpd.apache.org/docs/2.1/vhosts/name-based.html

注释: HTTP协议的旧版本不支持Host报头,所以如果您想在同一台机器上设置虚拟主机,它必须使用多个ip地址并将每个ip地址绑定到一个唯一的站点。网络上的一些文档可能仍然反映了这一点。一般来说,tho不需要担心这一点,因为现在所有浏览器都支持使用Host头

票数 1
EN
页面原文内容由Server Fault提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://serverfault.com/questions/116438

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档