动态DNS和反向代理:可以这样做吗?

时间:2012-03-16 08:45:12

标签: apache dns tomcat7 reverse-proxy

这是我的情况。我家里有一个局域网,在常规路由器后面。

我的服务器在192.168.0.9上,在此我运行了bind9,在端口80上运行了apache2。端口8082上有Tomcat,端口8083上有另一个tomcat。

我已经成功设置了绑定,这样当我进入局域网时,我可以输入:

app1.mylan.com Apache会将此代理反向代理到app1.mylan.com:8082,并在浏览器中显示为app1.mylan.com

同样适用于app2。 (即app2.mylan.com - > app2.mylan.com)

但是,我的路由器具有动态DNS设置。

如何通过动态DNS访问app1.mylan.com。我已尝试使用我的DNS提供商设置网址重定向(甚至启用隐藏真实内容)

但是,在浏览器中,apache服务器尝试提供内容,就像它在端口80上一样,我得到了404.

就好像反向代理由于dyn dns而无法工作。

可以用动态dns ???

完成

非常感谢,

凯文。

1 个答案:

答案 0 :(得分:1)

是的,当然可以做到。但它需要一些东西,你的描述有点模糊,所以我会给你一个相当通用的答案:

要使其正常工作,必须更改区域的每个DNS条目以指向外部(动态变化的)IP地址。因此,当您的路由器获得新的外部地址时,您需要使用动态DNS更改区域的内容以反映这一点。你还没有说过你是怎么做到这一点的,但听起来你觉得它有效。但是,如果您只是在内部局域网上运行绑定并且只在那里更改它,它将无法正常工作。如果您拥有,例如“mylan.com”,那么您需要告诉“.com”您的名称服务器也已更改地址并且权限已移动。您不太可能以自动方式进行更改。相反,您可能需要为“mylan.com”提供外部DNS提供程序,您可以在不更改mylan.com本身的注册NS记录的情况下进行更新。

但更糟糕的是,如果你的内部局域网在NATing路由器后面(这就是为什么你有192.168 ....)那么你需要告诉NAT盒也要进行转发。您的NAT盒需要将进入其端口53(UDP和TCP)的地址的所有内容转发到DNS的内部盒子,以及将80端口连接到内部盒子的所有内容。也可能是8082和8083,但是如果您正确设置了代理,那么这不是必需的。