【问题标题】:How do I open up the web.py server to the web?如何打开 web.py 服务器到网络?
【发布时间】:2016-05-26 16:30:04
【问题描述】:

我希望网络上的人们能够在浏览器的地址栏中输入内容并使用我编写的 web.py 应用程序。当我输入 localhost:8080/app 时,它可以正常工作,但我希望其他人能够使用它,而我的家用计算机充当服务器。我知道这一定是一个显而易见的问题(毕竟这个包叫做 web.py),但我无法确切地知道要采取什么步骤来实现这一点。我猜该链接需要指向我的 IP 地址,而不是 URL?我需要以某种方式配置我的路由器吗?

【问题讨论】:

    标签: python web.py


    【解决方案1】:

    首先你需要找到你的外部IP google("what is my IP")

    其次,您需要在路由器上设置端口转发,以将流量从外部端口重定向到内部端口。

    端口转发完成后,您应该可以导航到http://<your external ip>:<port>/

    【讨论】:

    • 首先,您需要使您的网络应用程序能够抵御互联网攻击者,这些攻击者可能会访问您的服务器/网络和那里的数据,或者安装病毒/木马/crud。只有这样你才能执行上述步骤。
    • 此外,为了了解如何在任何路由器上转发端口,有一些非常有用的网站,例如portforward.com。但当然,除非您确定您的机器和服务器是安全的,否则您不应该这样做——也就是说,如果您计划公开共享您的网站。在这种情况下,托管解决方案无论如何都会是一个更好的主意。
    • 它要求以下内容:外部 IP 地址和开始/结束端口、本地 IP 地址和开始/结束端口、协议。我假设结束端口是 8080,起始端口是 80,这些应该是本地的,但我不确定其他值应该是什么。我运行 ipconfig 来获取我的 IP 地址,那是外部的吗?它看起来像一个 IPv6 地址。我猜的协议是 TCP?
    • ipconfig 会给你你的内部IP。 end port 应该是您的 python 脚本托管的端口。 start port 应该是您希望在外部托管的任何端口......它不一定是端口 80......这只是默认的 HTTP 端口。
    • 最后,“外部IP”竟然是0.0.0.0(这意味着任何IP的任何人都可以访问它),本地IP是我的路由器分配给我的机器的192.168.0.10 ,开始端口和结束端口都设置为8080,需要输入的地址是google回答的外部IP地址,后面是:8080,后面是/app地址。
    【解决方案2】:

    首先,您需要在路由器上设置端口转发:将其配置为将路由器的端口 80 转发到计算机的端口 8080。 (您可以在您的操作系统网络配置中找到您的计算机内部 IP 地址)您可能还需要将您的计算机设置为使用静态 IP 地址并禁用 DHCP。

    然后其他用户将能够通过您的路由器外部 IP 地址访问您的服务器。您可以找到您的外部 IP here。您可能还想设置一个动态 DNS 地址,以便在您的外部 IP 地址更改时其他人仍然可以访问服务器。这种服务的一个例子是noip

    只要您只是使用自己的计算机进行一些基本测试就足够了,但是一旦您运行真正的网络服务,您应该考虑使用付费的外部网络托管服务来提高安全性、可靠性和性能。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2017-12-29
      • 2018-07-14
      • 2016-10-26
      • 2011-12-30
      • 1970-01-01
      • 1970-01-01
      • 2013-10-26
      • 1970-01-01
      相关资源
      最近更新 更多