【发布时间】:2009-04-01 19:35:20
【问题描述】:
这只是轻微的编程问题,更多的是网络问题。
我正在尝试让 Django Web 应用程序在我的家庭网络中运行,但我无法让网络上的任何机器访问该网页。我已经在端口 80 和 8000 上运行,但没有运气。错误消息是:“Firefox 无法与位于 192.168.x.x 的服务器建立连接。”
我已经尝试在客户端的 python 中使用套接字:
import socket
s = socket.socket(socket.AF_INET, socket.SOCK_STREAM)
s.connect ( ("192.168.x.x", 80) )
我刚刚收到“socket.error (10061, 'Connection denied')”。有趣的是,我可以连接 25 端口。
没有运行 Windows 防火墙。电缆调制解调器前面有一个 NetGear 路由器/防火墙。
我应该看什么来配置这个?
也试过了:
import urllib2
urllib2.urlopen("http://192.168.x.x/")
同样的事情。
回复:“你能从运行它的机器上看到 Django 应用吗?”
是的。它确实在同一台机器上工作。它不能跨网络工作。
我还可以将服务器设置为在我选择的任何端口(80、8000 等)上运行,并且可以在本地访问,而不是通过网络访问。
问。是否支持netstat? A. 是的:
Proto Local Address Foreign Address State
....
TCP D3FL2J71:http localhost:1140 TIME_WAIT
TCP D3FL2J71:http localhost:1147 TIME_WAIT
我的网站在本地的两个浏览器窗口中可见。
使用显式外部端口(不依赖本地主机):
python manage.py runserver 192.168.x.x:8000
冰冰冰!我们有一个赢家!
哇,我很高兴这不是网络问题。
“Django 应用程序是否肯定在 192.168.xx 地址而不只是在环回适配器上做广告?”
看来 Jon 也走在了正确的轨道上,但评论并没有给我指明方向——检查 Django 服务器的设置调用。
【问题讨论】:
标签: python networking