配置三级域名

配置三级域名

我有一个 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我上面所做的那样检查这一点,以确保您看到的是正确的记录。

相关内容