虚拟主机上的nginx子域配置

时间:2013-01-10 00:47:18

标签: dns nginx webserver subdomain

有关nginx子域配置的SO有几个问题,但没有找到与我的完全相同的问题。

说我在我们的组织中从更高级别的网络管理员some.example.com获得了虚拟主机example.com。我想使用some.example.com作为我的主要网站,并使用foo.some.example.combar.some.example.com作为辅助用法(代理等)。我尝试了这个简单的配置,并将其置于sites-enabled下,但无效:

server {
    listen 80; 
    server_name some.example.com;
    root /home/me/public_html/some;
    index index.html index.htm;
}

server {
    listen 80; 
    server_name foo.some.example.com;
    root /home/me/public_html/foo;
    index index.html index.htm;
}

server {
    listen 80; 
    server_name bar.some.example.com;
    root /home/me/public_html/bar;
    index index.html index.htm;
}

在此设置中some.example.com工作正常,但对于其他两个浏览器返回could not find foo.some.example.com。我在ubuntu服务器上运行它。

此配置有问题吗?或者我应该与更高级别的网络管理员交谈(让foo.some.example.combar.some.example.com注册)?

2 个答案:

答案 0 :(得分:11)

子域配置以父域的DNS服务器中的条目开始,查找将子域解析为Web服务器的IP地址。 Web服务器依次根据子域的配置委托请求。

如果您的子域中没有DNS设置,则example.com上的admin需要设置CNAME别名。别名将子域指向同一个Web服务器,该服务器承载父域的网站。为每个子域添加规范名称(CNAMES)。一旦子域解析为Web服务器的IP地址,Web服务器就可以将请求路由到其他网站。

答案 1 :(得分:0)

CNAME只是一种将网络流量传输到您的IP地址的方法。该 请求仍将在Host:标头中包含原始名称。