如何在不设置路由器上的端口转发的情况下,使互联网上的本地Web服务器可见?


12

我在(高端)笔记本电脑上开发网站,并且在各种物理位置工作。

我想避免不断与外部可见的Web服务器进行同步的麻烦,以便客户端测试网站的进度(或出于相关目的)。因此,我试图找到一种方法来使我的笔记本电脑能够自动公开发布即使在我无权访问路由器来设置端口转发的情况下(例如从咖啡店或其他公共无线连接中),也可以从Internet,任何位置从Internet可见。

我已经使用动态DNS通过我一个路由器,使我的选择着一个桌面服务器域名已经建立......但就像我说的,我想放弃使用该桌面服务器的步骤。

我希望付费的反向代理服务(向帐户收取月费)将提供可用于此目的的专有套接字级别客户端/服务器“反向代理”软件。我找不到一个。我已经使用了TeamViewer和LogMeIn,提供了类似的专有服务。实际上,我尝试使用LogMeIn Hamachi VPN来实现这一点-通过使我的桌面(已经可以在互联网上看到)将IP流量请求端口80通过VPN转发到我的笔记本电脑。但是,似乎不可能像这样设置Hamachi / Windows(但我可能错了)。

我希望有一种简单而强大的方法来完成此任务。


您实际上可以使用Opera网络浏览器(Opera unite)设置基本的网络服务器,但这仅在HTML + JavaScript应用程序是我认为不适合您的情况下才是解决方案。
jakub.g 2011年

我目前有一个可运行的Web服务器-Apache(作为Windows安装XAMPP的一部分设置)。该Web服务器运行良好,并且在我的台式机上的永久路由器后面运行时,从互联网上看不到任何问题,因为我在路由器上设置了端口转发。当我无权访问设置端口转发的路由器时,我想找到一种方法使本地Web服务器从Internet公开可见。
Dan Nissenbaum 2011年

Answers:


8

如果您有服务器,则可以使用SSH进行连接,并且该服务器允许您在相关端口上侦听公共IP地址(如果您对其进行控制,它将-甚至您描述的通过cygwin安装SSHd的台式机)或类似),您可以使用SSH的隧道选项将流量拉至本地服务器。

类似于:ssh root@your.server.tld -g -R 11.22.33.44:80:127.0.0.1:80将在连接并通过身份验证后,在11.22.33.44上使端口80(假设这是服务器的公共地址)将建立连接,然后将其转发到本地端口80。您需要在服务器上启用GatewayPorts选项要以这种方式侦听非本地主机地址,并且需要以root用户身份登录才能侦听1024以下的端口,并且如果已经有一个服务侦听端口80,那么您显然仍然需要选择其他内容。建议添加-C选项以启用通过SSH压缩流的选项,特别是如果您通过速度较慢的网络连接笔记本电脑(可能卡在虚无的地方,仅提供GPRS移动连接)。

要在Windows上使用ssh,您有几种选择。您可以安装cygwin的端口[然后我在上面给出的命令应该是JustWork(tm)]或使用其他客户端。PuTTY是一个非常受欢迎的选项,它支持远程端口隧道。

这样一来,无论您从何处连接,您的计算机的Web服务器在连接时也始终可以在同一地址上使用,因此无需为您希望分配的人性化名称使用动态DNS(假设您连接到的服务器)有固定的公共地址)。

与其使用家庭或办公室服务器,否则可能会进一步降低速度,除非您在那里的双向双向连接都很好,而是通过租用一个小型Linux VPS(最好是在同一国家/地区)来获得更好的结果。这个目的。只要有足够的带宽,您只需要最小的机器,这样每月只需花费几美元。

与SSH一样,您也可以考虑使用VPN工具(例如OpenVPN),并在服务器上使用简单的iptables规则将连接向下的连接转发到计算机。一旦设置,这可能会更有效率,麻烦更少,但是如果您不熟悉它,并且通常不会进行布线,则可能会有些麻烦。同样,廉价的VPS或您自己的办公室/家庭服务器将充当VPN的服务器端。


+1:我正打算建议使用ssh隧道,但是您击败了我,并且比我更清楚地解释了它,以进行引导。
Dave Sherohman 2011年

很好的答案,谢谢。我已经有WinSSHD(来自Bitvise-付费程序),所以我应该可以使用它。我可能会尝试使用iptables来路由数据(最初考虑时,我很困惑,因为我知道数据到达的是与路由器共享的本地网络上的计算机,而不是到达与VPN共享的本地网络上的计算机-但这不应该使我感到困惑)。任何想发布与路由器配合使用并将数据传递到VPN网络的必要iptable条目示例的人,将受到极大的欢迎和赞赏!
丹·尼森鲍姆

1

便携式计算机上的IPV6隧道与ipv4到6代理-gogo6结合在一起,提供了很好的免费服务,客户端可以将其自动更新为freenet6-的一部分。将其与AAAA记录和从ipv6转换为4的代理(将ixx运行一个公共的)相结合,或者为获得更优雅的解决方案,您自己的代理服务器(polipo可以工作)在相同的A地址上运行转换

正确设置后,此设置应该基本上是透明的,除了因多次反弹而产生的轻微延迟。

By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.