在运行Nginx的内部服务器上启动Django开发服务后如何访问?
解决Django开发服务器访问问题
嘿,我来帮你搞定这个访问难题!你现在碰到的情况是:Django的runserver默认只绑定了127.0.0.1(服务器的本地回环地址),这就意味着只有服务器自己能访问这个服务,而你通过SSH连接的本地电脑没法直接碰它。下面给你两种实用的解决办法:
方法1:修改Django服务器的绑定地址
让开发服务器监听服务器的所有网卡,这样你就能通过服务器的主机名或IP直接访问了:
- 在服务器的
testproject/mysite目录下,停止当前的runserver进程(按Ctrl+C) - 重新启动服务器,指定绑定到所有网卡:
python manage.py runserver 0.0.0.0:8765 - 现在在你本地电脑的浏览器里访问:
👉 注意:要确保服务器的防火墙已经放开8765端口,而且你的本地电脑和http://dev1.internal.blah.com:8765dev1.internal.blah.com在同一个内部网络里,能正常解析这个主机名。
方法2:使用SSH端口转发(无需修改Django配置)
如果你只是临时测试,不想改服务器配置或者担心端口暴露,可以用SSH的本地端口转发功能,把服务器的8765端口映射到你本地电脑的8765端口:
- 在你本地电脑的终端里,重新建立SSH连接,加上端口转发参数:
ssh -L 8765:127.0.0.1:8765 dev1.internal.blah.com - 保持这个SSH连接窗口打开,然后在本地浏览器里直接访问:
这个方法的原理是通过SSH隧道把你本地的8765端口流量转发到服务器的127.0.0.1:8765,安全又方便,适合开发调试场景。http://127.0.0.1:8765
⚠️ 提醒一下:Django的runserver是开发专用服务器,性能和安全性都不适合生产环境,别用它来跑正式业务哦!
内容的提问来源于stack exchange,提问作者Craig
相关产品推荐
相关产品推荐

