domain-name-system – 记录或cname

前端之家收集整理的这篇文章主要介绍了domain-name-system – 记录或cname前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。
我有一个服务器(Ubuntu Apache),我们托管一个应用程序,客户可以在其中创建自己的子域 – 即基本上是通配符子域.

我们有一个客户希望将自己的域(www.client.com)指向我们服务器上的唯一子域(client.app.com).这应该是透明的,所以当有人在www.client.com上输入时,网址仍会显示www.client.com,但所有内容都在透明地工作在client.app.com上

在他的DNS中,他应该创建指向我们的IP地址的A记录,还是指向client.app.com的cname?

在任何一种情况下,我们需要创建的vhost是否存在任何差异?

解决方法

In his DNS,should he create an A record pointing at our IP address,or a cname pointing at client.app.com?

他应该使用指向client.app.com的CNAME.这样做的原因有很多,但最好的原因可能是因为它意味着如果服务器的IP地址发生变化,更改的更少:只需要更新client.app.com的条目,其他所有内容都需要更新CNAMEd将自动跟随.

其他原因包括无法像MX记录那样拥有相同名称的A记录,这是其他提到的海报之一;以及主机应该只有一个“真实名称”(A记录)的一般理念,指向同一主机的其他记录应该是别名(CNAME).当然,当你有一个指向多个IP和多个主机的A记录时,这种理念就会失效(但这是客户使用CNAMES的另一个好理由:如果你的服务变得流行,你需要通过负载平衡来扩展它其他提供相同功能的主机,您希望您的客户从中受益,而无需进行任何更改. (当然,有很多方法可以进行负载平衡和扩展,您可以轻松选择一个与DNS无关的方法,但这取决于您的实现.)

Are there any differences in the vhost that we need to create in
either case?

无论您选择哪种DNS方法,都需要确保将apache配置为接受其他名称.

so that when someone types in www.client.com,the url still shows www.client.com,but everything is transparently working on client.app.com

当然,您需要自己确认下面的apache文档,但我可以想到两种方法

> UseCanonicalName Off在每个VirtualHost条目中包含ServerAlias:

UseCanonicalName Off
< VirtualHost *:80>
ServerName www.client.com
ServerAlias client.app.com
DocumentRoot / www / client
< /虚拟主机>
>使用多个ServerNameVirtualHost条目:

< VirtualHost *:80>
ServerName www.client.com
DocumentRoot / www / client
< /虚拟主机>
< VirtualHost *:80>
ServerName client.app.com
DocumentRoot / www / client
< /虚拟主机>

请记住,无论使用哪种方法,您都可能必须确保html和任何关联的脚本正在“正确地”生成适合您所需行为的URL.

这里还有许多很好的例子和有趣的讨论:http://httpd.apache.org/docs/2.4/vhosts/mass.html关于这个主题.

猜你在找的HTML相关文章