apache/nginx 上的 cname 行为是什么

apache/nginx 上的 cname 行为是什么

假设我有一个域名fish.example.com,其中的 a 记录指向运行 apache/nginx 的 http 服务器,并为该域名设置了 vhost。我还创建了一个从cow.example.net到的CNAMEfish.example.com

哪些域名最终到达我的 apache/nginx,并且此行为可以由 apache/nginx 配置吗?

答案1

这正是 cname 的用途,您提出的 DNS 建议非常可靠。您需要为 cow.sample.net 和 fish.example.com 定义一个虚拟主机,因为这两个主机都可能用于访问您的网站(除非您只打算让客户端使用其中一个进行连接)。

这可以在 apache / nginx 的虚拟主机配置中完成:

<VirtualHost cow.sample.net>
    DocumentRoot "/www/site"
    ServerName cow.sample.net
</VirtualHost>

<VirtualHost fish.example.com>
    DocumentRoot "/www/site"
    ServerName fish.example.com
</VirtualHost>

答案2

无论在浏览器地址栏中输入什么名称,浏览器都会以 HTTP 标头的形式将其发送到服务器host,您的服务器将检查该标头以正确提供其虚拟主机的服务。

相关内容