Python (CherryPy) Web 应用程序部署在本地,但在 Intranet 上不可见

发布于 2024-12-05 18:49:17 字数 322 浏览 1 评论 0原文

我使用 CherryPy 创建了一个 Python Web 应用程序,并部署在我的本地计算机上。

当我尝试从家里的另一台计算机上查看它时,没有任何结果。

但是,如果我创建一个简单的 html 文件,并将其部署为:

$ python -m SimpleHTTPServer

它在 Intranet 上可见。

我很困惑为什么我的应用程序可以在本地工作,但不能通过内联网使用,因为这些机器之间不存在连接问题,并且我可以在同一端口上提供其他内容。

我没有使用配置文件,我使用默认的 CherryPy 设置。

I've created a Python web app using CherryPy, and have deployed in on my local machine.

When I try to view it from another computer in the house, nothing comes back.

However, if I create a simple html file, and deploy it with:

$ python -m SimpleHTTPServer

It is visible over the intranet.

I'm stumped as to why my app could work locally, but not be avalable over the intranet, given that there is not a connection problem between these machines, and that I can serve other content on the same port.

I have not used a configuration file, I'm using the default CherryPy settings.

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(1

打小就很酷 2024-12-12 18:49:17

默认设置可能绑定到本地主机,该主机不公开。如果您希望 CherryPy 在公共接口上运行,您必须指示它执行此操作。从此讨论我发现:

cherrypy.config.update(
    {'server.socket_host': '10.149.4.240' } ) # Pub IP
cherrypy.quickstart()

cherrypy.config.update(
    {'server.socket_host': '0.0.0.0'} )      
cherrypy.quickstart()

绑定到所有接口。

The default settings likely bind to localhost, which is not publicly available. If you want CherryPy to run on a public interface, you'll have to direct it to do that. From this discussion I found:

cherrypy.config.update(
    {'server.socket_host': '10.149.4.240' } ) # Pub IP
cherrypy.quickstart()

or

cherrypy.config.update(
    {'server.socket_host': '0.0.0.0'} )      
cherrypy.quickstart()

To bind to all interfaces.

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文