CNAME 指向域而不是子域

CNAME 指向域而不是子域

我有一个具有 3 个不同子域的 SAAS 应用程序。

example.com 
app.example.com
support.example.com 

我只想在support.example.com

示例:testcompany.com需要我的服务support.example.com

为了实现这一点,我需要类似的东西support.testcompany.com来基本上加载support.example.com网站。

我已经在 DNS 中创建了 CNAME 记录testcompany.com,指向support.example.com

example.com正在加载而不是support.example.com

我该如何解决这个问题?这是正确的方法吗,还是还有其他方法?

答案1

DNS CNAME 记录仅将主机名指向同一个服务器目标主机名指向的。

它不会自动配置 Web 服务器以加载两个主机名的相同网站。这需要对 Web 服务器软件(即 Apache、Nginx)进行额外的重新配置

(你可以通过将一个网站指定为默认虚拟主机当使用未知主机名访问 Web 服务器时,总会显示该信息,但这仅适用于纯 http,而不适用于 https)

答案2

无论您使用A指向同一 IP 地址的记录还是CNAME指向最终指向该 IP 地址的另一个主机名的记录,浏览器都会Host:在其地址栏中发送包含主机名的 HTTP 标头。

因此,您的VirtualHostforsupport.example.com需要其他主机名的别名,例如support.example.netsupport.example.org

<VirtualHost *:80>
    ServerName support.example.com
    ServerAlias support.example.net support.example.org
    . . .
</VirtualHost>

否则,Web 服务器将显示默认虚拟主机,在本例中似乎是example.com

最好有一个默认的虚拟主机,以防止指向该 IP 地址的每个主机名显示 的内容example.com。您当前的配置可能会影响 SEO,也可能存在安全问题。

相关内容