2012-01-16 84 views
0

在我的家庭网络中,我使用带有web服务的设备。现在我想从互联网上访问这项服务。由于我没有静态IP(并且不想要一个),我的想法是使用/开发两个“转发器”。一个在服务器上(例如Google App Engine),另一个在我的本地NAS上(使用Python)。从互联网访问家庭网络的webservice

有没有人知道应用程序/框架轻松做到这一点,甚至知道我的问题更好的解决方案?

当然,解决方案还应该包括某种认证。当我使用我自己开发的android应用作为端点时,我可以自定义通信。

回答

0

好的,所以你只想运行一个没有静态IP的基于家庭的web服务器。如果你有一台linux服务器,你可以试试这个:

使用默认安装的apache web服务器并设置一个测试页面。该页面被放入您的webservers公共目录。现在,如何解决你的IP ...让我们说... ... 25.24.4.166,你想它有一个host.name.com绑定到。转到http://www.no-ip.com/index.php并注册。你可以从noip获得一个类似yourname.theirdomain.com/.net/.info的网站。他们有很酷的名字,如sytes.net和servebeer.org ...甚至workisboring.com

你可以选择自己的顶级名称...例如,Ithink.dnsiskinky.com可能是你的新域名。然后从下载选项卡下载客户端:https://www.no-ip.com/downloads.php

linux客户端是tar.gz源代码,安装简单。只要按照说明。现在,您拥有yoursite.theirsite.com,每次登录/登录/发送或执行任何操作时,您的IP都会随时更新(只要noip.com已启动)。

将这种技术概括为动态Web服务并不是太麻烦。对于认证感到抱歉,这是一个完整的故事,因为我没有足够的想法。也许你可以发送请求头部哈希或类似的东西(例如,亚马逊在s3和其他相关服务中进行的身份验证)。

+0

为了清楚起见,用户建议您使用动态DNS,尽管拥有动态IP,但它为您提供了一致的主机名。 no-ip是这个的很多服务之一(谷歌它)。预计你可以免费获得它。至于客户端,最好的办法是让你的路由器自动更新你的IP地址。许多路由器都内置了对各种dyndns服务的支持,就像openwrt和dd-wrt固件一样。 – djs 2012-05-02 22:57:42