如何在IONOS VPS部署Django应用?访问my_ip:8000显示无效页面
解决Django runserver后无法通过VPS IP访问的问题
以下是按优先级排序的排查和解决步骤:
绑定正确的监听地址
默认python manage.py runserver仅监听本地回环地址127.0.0.1,外部无法访问。必须指定监听所有网卡:python manage.py runserver 0.0.0.0:8000开放VPS防火墙端口
- IONOS控制面板防火墙:登录IONOS后台,找到对应VPS的防火墙规则,添加一条入站规则,允许TCP协议的8000端口,来源设为
0.0.0.0/0(允许所有IP访问)。 - VPS系统内部防火墙:
- 若使用Ubuntu/Debian(ufw):
sudo ufw allow 8000/tcp sudo ufw reload - 若使用CentOS/RHEL(firewalld):
sudo firewall-cmd --add-port=8000/tcp --permanent sudo firewall-cmd --reload
- 若使用Ubuntu/Debian(ufw):
- IONOS控制面板防火墙:登录IONOS后台,找到对应VPS的防火墙规则,添加一条入站规则,允许TCP协议的8000端口,来源设为
配置Django的ALLOWED_HOSTS
打开项目根目录下的settings.py,修改ALLOWED_HOSTS配置,加入你的VPS公网IP:ALLOWED_HOSTS = ['你的VPS公网IP', 'localhost']保存后重启runserver,否则Django会拒绝来自未授权IP的请求。
验证网络连通性
在本地终端执行以下命令测试端口是否可达:nc -zv 你的VPS公网IP 8000返回
succeeded说明端口通;若超时,回到前两步检查绑定地址和防火墙设置。确认公网IP正确性
在VPS内部执行curl ifconfig.me获取真实公网IP,确保你访问的是这个地址,而非VPS的内网IP。
内容的提问来源于stack exchange,提问作者Soham
相关产品推荐
相关产品推荐

