2014-02-12 26 views
2

我从我的ISP获得了一个动态IP,因此我使用免费的DynDNS服务将流量重定向到我的服务器。我刚买了一个Raspberry Pi,并希望从外部接触它,最好还是使用另一个子域。我可以使用多个指向DynDNS域的CNAME记录,然后将VHOSTS文件放入服务器中,以根据名为?的子域将流量定向到正确的服务器。单个DynDNS名称后面的多个子域和服务器?

或者它是调用服务器而不是我自己的子域的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 - > raspberry pi

+0

这当然是可能的IP和端口。从技术角度来看。但DynDNS不提供像这样的二级域名的使用。很可能你有一个帐户解决了像myserver.dyndns.org。然后你可以使用rpi.myserver.dyndns.org作为虚拟主机。你不能做的是将这些“子域”解析为不同的内部IP地址,因为这意味着_router_将不得不评估http协议内的“主机”头,该协议不起作用。 – arkascha

+0

我不打算在我的DynDNS地址中使用二级子域,我想将几​​个第一级子域指向我的单个IP,然后将它们分割到不同的服务器。我的意图是让VHOSTS文件解析使用哪个服务器,如果主机头包含我自己的子域名,而不仅仅是DynDNS名称(这是我的问题的全部内容)。 – Zarkov

+0

好吧,没问题。但是在这种情况下究竟是什么问题呢? – arkascha

回答

1

雅我想你会使用CNAME记录将所有子域指向相同的dyndns子域,然后使用vhost处理它们。至于你的覆盆子pi,你可能必须在你的apache web服务器上有一个虚拟主机,它会像代理服务器那样工作,将主机名(子域)的所有流量发送到pi的ip。这里有一个虚拟主机代理配置的例子(进入Apache的配置,可能的httpd.conf)

<VirtualHost *:80> 
    ServerName rpi.example.com 
    ProxyPass  /http://localhost:8080/ 
    ProxyPassReverse/http://localhost:8080/ 
</VirtualHost> 

localhost替换和端口号与树莓派