我们在服务器配置方面遇到问题,我希望我能得到一些帮助,因为它让我们发疯了!
基本上,我们在 domain.com 上设置了一个应用程序,并在同一域上为用户设置了通配符子域。例如,我们想像 tumblr 那样为用户实现自定义域,以便用户为其子域创建一个 CNAME,例如:
userdomain.com -> CNAME -> user.ourapp.com
不过,在为一个用户设置好之后,他的域只会路由到我们这边的服务器默认页面。在与 plesk 取得联系后,回复是这样的:
根据内部 Web 服务器逻辑,基于名称的托管在 HTTP 标头中使用主机名。在 DNS 中仅使用 CNAME 记录是行不通的,因为 DNS 仅返回新服务器 IP,浏览器将转到该 IP,但旧服务器名称仍保留在 HTTP 标头中。
网络服务器在收到这样的请求后将正常工作,它会尝试查找 userdomain.com 并打开默认虚拟主机,在我们的例子中是 Media Temple Server 页面,但不会成功。
嗯不错。所以我们去稍微编辑我们的配置。我们正在运行 Plesk 10.4,在通配符子域下,我们有一个用于虚拟主机的 httpd.include 文件。
在那里我们有这个:
<VirtualHost 64.207.159.248:80>
ServerName "_.ourapp.com:80"
ServerAlias "*.ourapp.com"
UseCanonicalName Off
...
现在,我们尝试删除 ServerName 并只保留别名,并使用 /etc/init.d/httpd reload 重新加载配置,但我们仍然得到默认服务器页面。
我们被难住了。
有没有人以前遇到过这个问题,有解决办法吗?
提前致谢, 沃伦
浏览器仍会发送
Host: userdomain.com
标头,CNAME 记录不会导致重定向。因此,您将需要ServerAlias userdomain.com
在您的配置中。在您的应用程序中,您需要将其关联userdomain.com
到用户。