我有一个在裸域上运行的 Google 应用引擎应用程序,但我找不到任何关于如何将非裸域(www)子域重定向到裸域的教程。
看起来他们只是以另一种方式建造,对 www 赤裸裸。
有人能帮助我做到这一点吗?
答案1
我无法具体回答 Google 应用云的问题,但以下是幕后发生的事情。
当您访问 www.domain.com 时,会进行 DNS 查找。因此,您必须首先拥有 www.domain.com 的 DNS,指向与 domain.com 相同的服务器、服务器(如果您正在执行循环 DNS 负载平衡)或负载平衡 IP(如果您在其他地方进行负载平衡)。您没有说,但我想这已经起作用了,您要做的就是“重定向”。
要知道客户端将访问 www.domain.com 而不是 domain.com,您需要检查 HTTP 请求中的 Host 标头。这位于传统 OSI 模型的第 7 层。如果您的应用云在服务器之前有一个类似多层防火墙或反向代理的设备,您可以在那里读取此标头,然后使用 302 Location domain.com 回复客户端,这将根据需要重定向它们。否则,您也可以在 Web 服务器上执行此操作。伪代码如下:
if Host equals www.domain.com
then generateHTTPResponse(302,Location=domain.com)