Django Tenant本地正常但服务器域名解析失败问题求助
Django Tenant 部署后域名解析问题排查方案
问题描述
我开发了一个Django Tenant应用,本地访问ebsalar.localhost:8000完全正常,但部署到服务器后,使用curl测试时出现错误提示:
Could not resolve host: ebsalar.localhost
本地与服务器的/etc/hosts配置一致,希望服务器端能实现与本地相同的运行效果。
本地环境截图:
服务器环境截图:
排查与解决步骤
- 测试强制解析访问:执行
curl --resolve ebsalar.localhost:8000:127.0.0.1 ebsalar.localhost:8000,若能正常响应,说明系统优先使用DNS而非本地/etc/hosts。 - 调整DNS解析优先级:编辑
/etc/nsswitch.conf,确保hosts项配置为hosts: files dns,让系统优先读取本地hosts文件。 - 验证hosts配置生效:运行
ping ebsalar.localhost,检查返回IP是否与hosts中配置一致。若无法解析,执行sudo systemctl restart systemd-resolved刷新DNS缓存。 - 核对Django配置:确认租户模型的域名字段设置为
ebsalar.localhost,且ALLOWED_HOSTS包含该域名(测试阶段可临时设为['*'])。 - 检查服务监听地址:确保Django服务监听
0.0.0.0:8000,而非仅绑定127.0.0.1,避免因地址限制导致访问失败。
内容的提问来源于stack exchange,提问作者amir salmani
相关产品推荐
相关产品推荐

