Django部署后无法访问根URL但可访问/home路径该如何排查?
Django根路径访问超时排查方案
1. 修正ALLOWED_HOSTS配置
你当前的ALLOWED_HOSTS存在三类明显错误,是最可能导致根路径异常的原因:
- 语法错误:
'example'后缺少英文逗号,会触发配置解析异常 - 无效值:ALLOWED_HOSTS仅接收域名/IP字符串,不能带
https://协议头和后缀斜杠,'https://example.com/'属于无效配置 - 缺失对应域名:你访问的是
www.example.com,但配置中仅添加了根域名example.com,没有匹配带www前缀的域名
修正后参考配置:
ALLOWED_HOSTS = ['.example.com', '127.0.0.1']
其中.example.com可以同时匹配根域名example.com和所有子域名(包括www.example.com),适配性更强。
2. 优化URL配置
你当前myapp下的urls.py存在命名冲突问题,虽不会直接导致超时,但属于不规范写法,建议调整:
from .views import index urlpatterns = [ path('', index, name='root_index'), path('home/', index, name="home_index"), ]
你的根urls.py配置逻辑正确,已经将根路径映射到myapp的路由规则,不需要额外修改。
3. 排查反向代理配置
如果修正ALLOWED_HOSTS后问题仍然存在,需要检查前端Web服务器(Nginx/Apache等)配置:
- 确认
www.example.com的DNS解析已经生效,没有指向错误的服务器IP - 检查反向代理的路径匹配规则,确认根路径
/的转发规则和/home/一致,没有漏写根路径的location配置 - 检查是否配置了根路径的强制跳转规则,排除跳转死循环的可能
- 查看Web服务器的错误日志,确认根路径的请求是否正常转发到Django的运行进程(uWSGI/Gunicorn等)
4. 排查服务运行日志
测试阶段可临时开启DEBUG模式,直接访问根路径查看报错信息;生产环境可查看Django运行日志,确认请求是否到达Django进程,排除视图层逻辑阻塞导致的超时问题。
内容的提问来源于stack exchange,提问作者mk12
相关产品推荐
相关产品推荐

