如果我对问题的描述不清楚,我很抱歉。 我正在为一个在线CMS,允许使用类似于Tumblr或Flavors.me的外部域名。 我注意到这两个服务只需要你添加一个Alogging到你的域的DNS。
当试图这样做时,我添加了一个空白名称的Alogging和“www”都导致我的networking服务器的IP。 虽然这成功路由到我的服务器,它不会保留使用的域。 这使我不知道他们试图在应用层上访问哪个帐户。 我使用nginx作为我的networking服务器。
我之前已经更改了域名的所有域名服务器,并且正常工作,但是这会导致邮件等其他问题出现并发症,并且在缩放解决scheme上不可行。
我应该在这里做什么? Alogging是完成这个的正确方法吗? Tumblr和Flavors.me这样的网站是如何确定哪个帐户被域名引用的?
您很可能只希望让人们为其域中指向您的服务器IP地址(Alogging)或主机名(CNAME)的子域创buildA或CNAMElogging。 没有必要使用子域名,但是您需要提供该选项。
然后,您的服务器根据收到的请求提供内容,就像您可能从同一台服务器提供多个站点一样。 在Apache中,您可能使用单独的虚拟主机,或者更有可能在您的scheme中,CMS根据请求的属性提供不同的内容。 您只需要弄清楚CMS所在的平台如何访问请求的不同部分,然后将其传递给抽取内容的逻辑。
如果你的问题更具体,包括内置CMS的语言/框架/平台,你可能会得到更具体的build议。 或者尝试张贴到专业网站pipe理员或堆栈溢出 ,你可能会find更具体的经验的人这样做。
简短回答:HTTP 1.1请求必须提供主机:标题字段(请参阅http://www.w3.org/Protocols/rfc2616/rfc2616-sec14.html#sec14.23 )。
我希望像tumblr这样的网站正在读这个。
要添加到dunxd所说的内容,您还需要执行Alogging,因为这是指导服务提供商服务器处理该(子)域的请求的情况,而服务提供商不必完全控制客户的DNS。 一旦请求进入服务提供商,他们可以通过几种不同的方式确定要显示的客户数据。
首先是虚拟主机 ,它允许您为每个服务域设置不同的configuration。
第二个是重写规则 ,它允许您根据请求的URL确定要返回的数据。
第三个是使用服务器variables ,然后使用您编写应用程序的任何语言来处理基于http_host值的请求。
这些不是相互排斥的,你可以使用他们的一些组合来做你想做的事情。
我不确定你的意思是:
它不保留使用的域
访问域时,地址栏中的url是否会发生变化? 如果是这样,你可能在某处做了一个http 301redirect。 您仍然可以这样做,但您需要先让服务器重写url,以便您仍然可以传递帐户信息。
编辑:我不使用nginx,但我添加了一些可能有用的链接。