如何使用VPN公开python Web服务器

时间:2019-03-06 01:16:58

标签: python router vpn portforwarding nat

我刚刚开始学习使用python进行网络开发。现在,我的Web服务器使用端口80在开发机器上运行良好。但是,当我想从LAN网络外部访问我的网站时,我发现ISP阻止了所有端口。为了解决这个问题,我使用了vpnbook.com(openVPN 2.4)提供的免费VPN。当我使用CanYouSeeMe.org网站时,它告诉我端口80已打开,但是我不知道如何连接到我的Web服务器。分配的IP 10.12.x.x:80和远程IP 51.68.x.x:80都不起作用。

非常感谢您的帮助。

我在Windows 10上使用flask框架。以下是从vpnbook.com下载的openVPN配置:

client
dev tun3
proto tcp
remote 51.68.180.4 80
remote de4.vpnbook.com 80
resolv-retry infinite
nobind
persist-key
persist-tun
auth-user-pass
comp-lzo
verb 3
cipher AES-128-CBC
fast-io
pull
route-delay 2
redirect-gateway

1 个答案:

答案 0 :(得分:0)

成为VPN的一员并不能将您暴露给世人。换句话说,一旦连接到它,它就不会将流量从WWW转发到任何端口上的计算机。就像用更大的家用路由器代替家用路由器一样,您无权定义forwarded ports。 “最糟糕”的情况是同一VPN中的其他计算机将能够与您联系,但这通常不是公共VPN中的设置。

您可以使用的解决方案是SSH远程转发。您可以阅读有关here(期待眩晕)的信息,但要点是您使用SSH连接到您拥有的云服务器,并告诉它使用相同的SSH连接将与之连接的转发给您(例如WWW-> cloud_machine:port-> your_machine:port)。因为您拥有这台云计算机,所以您可以控制其安全性并可以向世界开放侦听端口。

ssh -R 80:localhost:80 public.example.com

然后,如果您愿意走那么远,不妨将应用程序部署在该计算机上!

相关问题