sha*_*nus 11 sockets django macos networking firewall
我在一台本地IP地址为192.168.1.6的计算机上运行OS X Mountain Lion(由Network实用程序和ifconfig报告)并在端口8000上运行本地(Django)开发Web服务器,我想连接到来自在同一台计算机上运行来宾操作系统的虚拟机.
在主机操作系统上(即运行在机器金属上的OS X,地址为192.168.1.6),我可以通过浏览器连接到我的测试Web服务器,导航到127.0.0.1:8000; 或localhost:8000; 但不是在使用机器的本地IP地址时.这就是令人困惑的原因:
以下是ipfw规则:
00100 allow tcp from any to any dst-port 8000
65535 allow ip from any to any
Run Code Online (Sandbox Code Playgroud)
以下是我的测试服务器正在监听端口的额外确认:
netstat -an | grep 8000
tcp4 0 0 127.0.0.1.8000 *.* LISTEN
Run Code Online (Sandbox Code Playgroud)
那么这里发生了什么?不知何故,端口22的处理方式与端口8000不同,但我能想到的每个地方都在寻找那些我找不到的差异.为什么我不能使用其本地IP地址进入该机器的端口8000?
Lud*_*mer 23
当您启动Django开发服务器时,您需要明确地提供地址:
python manage.py runserver 192.168.1.6:8000
Run Code Online (Sandbox Code Playgroud)
或者,如果您希望服务器在所有接口上运行,您可以使用:
python manage.py runserver 0.0.0.0:8000
Run Code Online (Sandbox Code Playgroud)
在其他情况下,Django开发服务器默认仅在本地接口上运行.
| 归档时间: |
|
| 查看次数: |
53101 次 |
| 最近记录: |