【问题标题】:How shared hostings, domain names and DNS work together?共享主机、域名和 DNS 如何协同工作?
【发布时间】:2011-02-16 15:01:34
【问题描述】:

我有点怀疑,但我找不到有关它的信息,可能是因为我没有搜索正确的东西。

当浏览器请求“www.mydomain.com”时,DNS 服务器会返回一个 IP 地址,然后浏览器会转到那里……但是会发生什么?我的意思是,那个 IP 地址可能是一个包含数百个网页和域的共享主机,那么它怎么知道它必须去哪里呢?

是网络服务器做的事情吗?我可以在 Web 应用程序中实现它吗?

我的意思是,例如,我有一个包含帐户的 Web 应用程序,每个帐户都有一个默认网页。您可以通过帐户名称访问该页面,例如“www.mydomain.com/myaccount”,但现在我想注册“www.myaccount.com”,然后它将获得“www.mydomain.com/myaccount”内容。有可能吗?

亲切的问候。

【问题讨论】:

    标签: http hosting dns shared-hosting


    【解决方案1】:

    网络服务器处理哪个应用程序响应您的请求。您的“共享主机”有另一个名称。它被称为“虚拟主机”。网络服务器有一个“虚拟主机”列表,并且根据您到达主机的方式(通过什么主机名),网络服务器会选择哪个应用程序响应您的请求。

    【讨论】:

    • 我猜网络服务器会拒绝任何对不在其“虚拟主机”列表中的主机的请求,有没有办法强制它接受所有请求?还是我在暗示一些疯狂的事情? :D
    • 通常,它接受所有请求,除非您定义了“虚拟主机”。通常有某种默认处理程序。
    • 您有这方面的任何信息吗,或者您能告诉我应该寻找什么吗?谢谢!
    【解决方案2】:

    HTTP/1.1 要求所有请求都包含一个 Host 标头,其中包含您输入的域名。因此“http://www.example.com/foo/bar.html”的基本请求将如下所示:

    GET /foo/bar.html HTTP/1.1
    主机:www.example.com

    然后,Web 服务器将能够使用 Host 标头将请求路由到正确的网站,即使同一 IP 地址上存在多个。

    【讨论】:

    • 我猜网络服务器会拒绝任何对不在其“虚拟主机”列表中的主机的请求,有没有办法强制它接受所有请求?还是我在暗示一些疯狂的事情? :D
    • 这取决于服务器(例如 Apache 与 IIS 等)您如何实际设置它,但您可以拥有一个“包罗万象”的主机,是的。
    • 你知道我应该寻找什么来配置 IIS7 来做到这一点吗?参数的名称,或技术......某事:D。谢谢。
    • 在网站上单击鼠标右键,选择“编辑绑定”并将“主机名”设置为您希望它匹配的主机名。
    猜你喜欢
    • 2017-04-13
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2015-04-12
    • 2018-07-07
    • 2019-01-28
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多