单个 DynDNS 名称后面的多个子域和服务器?
Posted
技术标签:
【中文标题】单个 DynDNS 名称后面的多个子域和服务器?【英文标题】:Multiple subdomains and servers behind single DynDNS name? 【发布时间】:2014-03-10 11:10:06 【问题描述】:我从我的 ISP 获得了一个动态 IP,因此我使用免费的 DynDNS 服务将流量重定向到我的服务器。我刚买了一个 Raspberry Pi,也想从外部访问它,最好使用另一个子域。我可以使用多个指向 DynDNS 域的 CNAME 记录,然后在服务器中放置一个 VHOSTS 文件,以根据调用的子域将流量引导到正确的服务器吗?
或者是调用服务器的 DynDNS 子域而不是我自己的子域,即独立于用户调用的子域向服务器显示相同的 id?我宁愿不为处理相同协议的不同服务器使用不同的端口。
今天: server.example.com -> CNAME -> server.dyndns.com -> 1.2.3.4 -> 主服务器
未来: server.example.com -> CNAME -> server.dyndns.com -> 1.2.3.4 -> 主服务器 rpi.example.com -> CNAME -> server.dyndns.com -> 1.2.3.4 -> 树莓派
【问题讨论】:
这当然是可能的。从技术角度来看。但是 DynDNS 不提供这样的二级域的使用。很可能您在那里有一个解析为 myserver.dyndns.org 之类的帐户。然后你可以使用 rpi.myserver.dyndns.org 作为虚拟主机。你不能做的是让这样的“子域”解析到不同的内部IP地址,因为这意味着路由器必须评估http中的host
标头协议不起作用。
我不打算将二级子域与我的 DynDNS 地址一起使用,我想将多个一级子域定向到我的单个 IP,然后将它们拆分到不同的服务器。我的意图是让 VHOSTS 文件解析要使用的服务器,如果主机标头包含我自己的子域名,而不仅仅是 DynDNS 名称(这就是我的问题所在)。
好的,那没问题。但是在这种情况下是的问题是什么?
我想知道 host
标头是否显示我的子域名而不是 DynDNS 名称。如果是这样,我可以使用 VHOSTS 将流量分开到不同的服务器。
完美,这正是我想听到的!
【参考方案1】:
是的,我认为您只需使用 CNAME 记录将所有子域指向同一个 dyndns 子域,然后使用 vhost 将它们全部区分。至于你的树莓派,你可能必须在你的 apache web 服务器上有一个虚拟主机,它就像一个代理服务器,将所有流量从主机名(子域)发送到 pi 的 ip。这是一个 vhost 代理配置的示例(在 Apache 的配置中,可能是 httpd.conf)
<VirtualHost *:80>
ServerName rpi.example.com
ProxyPass / http://localhost:8080/
ProxyPassReverse / http://localhost:8080/
</VirtualHost>
将localhost和端口号替换为树莓派的ip和端口
【讨论】:
以上是关于单个 DynDNS 名称后面的多个子域和服务器?的主要内容,如果未能解决你的问题,请参考以下文章