在AWS部署Django应用时遭遇500内部服务器错误求助
解决Django部署到AWS时的500内部服务器错误
嘿,我从你贴出的/var/log/httpd/error_log日志里一眼就找到问题根源了!这是个很典型的Python语法错误,直接导致了Django加载配置失败,触发500内部服务器错误。
问题定位
日志里明确指出settings.py第29行的ALLOWED_HOSTS配置有语法问题:
ALLOWED_HOSTS = [vir-env1.kkhhumhvum.us-west-2.elasticbeanstalk.com]
错误原因
在Python中,字符串必须用单引号或双引号包裹。你把Elastic Beanstalk的域名直接放在列表里,没有加引号,Python会把它错误解析成一个不存在的变量运算(vir-env1减去kkhhumhvum.us-west-2.elasticbeanstalk.com),这完全不符合语法规则,自然会导致配置文件加载失败。
修复方法
把域名用引号(单引号、双引号都可以)包裹起来,修改后的配置应该是这样:
ALLOWED_HOSTS = ["vir-env1.kkhhumhvum.us-west-2.elasticbeanstalk.com"]
如果之后需要允许多个访问主机(比如本地测试地址),可以继续添加带引号的字符串:
ALLOWED_HOSTS = ["vir-env1.kkhhumhvum.us-west-2.elasticbeanstalk.com", "localhost", "127.0.0.1"]
验证修复步骤
- 修改好
settings.py后,重新将应用部署到AWS Elastic Beanstalk - 访问你的应用域名,检查500错误是否消失
- 可以再次查看
/var/log/httpd/error_log,确认没有新的语法错误日志输出
内容的提问来源于stack exchange,提问作者user
相关产品推荐
相关产品推荐

