有关nginx子域配置的SO有几个问题,但没有找到与我的完全相同的问题。
说我在我们的组织中从更高级别的网络管理员some.example.com
获得了虚拟主机example.com
。我想使用some.example.com
作为我的主要网站,并使用foo.some.example.com
和bar.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.com
和bar.some.example.com
注册)?
答案 0 :(得分:11)
子域配置以父域的DNS服务器中的条目开始,查找将子域解析为Web服务器的IP地址。 Web服务器依次根据子域的配置委托请求。
如果您的子域中没有DNS设置,则example.com上的admin需要设置CNAME别名。别名将子域指向同一个Web服务器,该服务器承载父域的网站。为每个子域添加规范名称(CNAMES)。一旦子域解析为Web服务器的IP地址,Web服务器就可以将请求路由到其他网站。
答案 1 :(得分:0)
CNAME只是一种将网络流量传输到您的IP地址的方法。该 请求仍将在Host:标头中包含原始名称。