我们有一个客户希望将自己的域(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
< /虚拟主机>
>使用多个ServerName
和VirtualHost
条目:
< 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关于这个主题.
总结以上是内存溢出为你收集整理的domain-name-system – 记录或cname全部内容,希望文章能够帮你解决domain-name-system – 记录或cname所遇到的程序开发问题。
如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)