【问题标题】:Access python web application from internet从 Internet 访问 python Web 应用程序
【发布时间】:2016-04-09 17:51:49
【问题描述】:

我正在我的 Linux 网络服务器上运行一个 Eve 实例,以允许我使用 HTTP 访问数据库。当我运行脚本时,会显示以下内容:

* Running on http://127.0.0.1:5000/ (Press CTRL+C to quit)

lsof -i :5000 产量

COMMAND PID USER FD TYPE DEVICE SIZE/OFF NODE NAME python 11824 root 3u IPv4 10213572 0t0 TCP localhost:5000 (LISTEN)

尝试访问http://goodenough.io:5000 不起作用。我在我的 Windows 上的 localhost 上运行它,但它无法通过 Internet 运行。

http://www.yougetsignal.com/tools/open-ports/ 显示端口已关闭,尽管应用程序正在侦听并且 Digital Ocean 声称默认情况下所有端口都是打开的。

但我的新理论是,识别外部请求可能还有更多意义?

任何想法或建议都会很棒。谢谢。

【问题讨论】:

  • 它表示在服务器的内部环回接口 localhost 上运行 - 即无法通过网络访问。更新您的 Eve 配置以侦听外部 IP 接口。
  • 这太棒了!我该怎么做呢?? @isedev

标签: linux webserver port eve


【解决方案1】:

在你的应用中,一定有这样的代码:

app = Eve()
app.run()

默认情况下,这将在环回接口上侦听。要侦听特定 IP 地址(在您的情况下为外部可见 IP),请使用:

app.run(host="X.X.X.X")

其中 X.X.X.X 是相关 IP。

【讨论】:

  • 这是 100% 的答案。它现在运行得非常好!我只在我的本地机器上运行过这个,现在我知道为什么了......
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 2014-11-07
  • 1970-01-01
  • 2018-04-18
  • 2015-07-17
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多