我有一个 Apache 实例在我的服务器(其 IP 为 164.177.156.36)的端口 8000 上为网站提供服务
Listen 8000
<VirtualHost *:8000>
ServerName lessico.pistacchioso.com
DocumentRoot /home/pistacchio/sites/lessico/
[..]
如果我访问,这有效http://164.177.156.36:8000/
在我的注册提供商(与我的服务器提供商不同)上,我设置了以下记录:
pistacchioso.com 是我注册的域名,我希望 lessico.pistacchioso.com 指向http://164.177.156.36:8000/
那些 seeweb.it 服务器是域名注册商的服务器,我可以把邮件留在那里(MX),而且我不能删除这两个 NS 记录(但我可以添加其他记录)。
目前,如果我访问http://lessico.pistacchioso.com/我仍然可以看到注册的礼貌页面。DNS 已更新,因为 pistacchio.com 显示的是 apache 的标准默认页面。有什么帮助吗?谢谢
答案1
我可以确认,就我而言:
DNS 显示我期望的内容:
james@bodacious-wired:~$host lessico.pistacchioso.com lessico.pistacchioso.com is an alias for pistacchioso.com. pistacchioso.com has address 164.177.156.36
浏览似乎
http://164.177.156.36:8000/
显示正确的页面- 浏览
http://lessico.pistacchioso.com:8000/
显示同一页面 - 浏览
http://lessico.pistacchioso.com/
节目the default web page for this server.
是因为no content has been added, yet.
我认为你在这里遗漏的是,你告诉浏览器使用协议http
- 就在 url 的前 4 个字符中,http://
浏览器明白,除非指定了另一个端口号,否则http
端口 80 就表示端口 80,因此http://lessico.pistacchioso.com/
被解释为http://lessico.pistacchioso.com:80/
。但是,在上面提供的代码片段中,您曾经VirtualHost *:8000
告诉 Apache 仅在端口 8000 上侦听此请求。
这解释了为什么http://lessico.pistacchioso.com:8000/
有效:您明确告诉浏览器使用端口 8000;并且您告诉 Apache 监听端口 8000 以及如何处理在那里收到的请求。
将该行更改为VirtualHost *:80
,您将改为在端口 80 上应答流量。ServerName
下一行中的指令确保只有主机的流量lessico.pisacchioso.com
将由此虚拟主机处理 - 所有其他主机名仍将恢复到默认虚拟主机,并使用您已经非常熟悉的默认内容 :)
编辑后添加:
还有另外一个问题。你说:
如果我访问http://lessico.pistacchioso.com/我仍然可以看到注册的礼貌页面。DNS 已更新,因为 pistacchio.com 显示的是 apache 的标准默认页面
这与我看到的不同 - 我在 上看到了 Apache 的标准页面http://lessico.pistacchioso.com/
。我猜想您的 DNS 主机在您发布和我回复之间更新了某些内容;或者您仍然有旧的记录缓存。我建议像host
我上面所做的那样检查这一点,以确保您看到的是正确的记录。