AWS EC2中Docker-Compose启动报错http: invalid Host header排查
错误原因及修复方案
核心错误:Celery Broker 主机名配置错误
你的Celery配置里,CELERY_BROKER_URL 设置为 redis://celery_worker:6379/0,但在docker-compose.yml中,Redis服务的名称是redis。Docker Compose内部服务之间通过服务名称作为主机名进行DNS解析,Celery尝试连接celery_worker这个不存在的Redis服务时,就会触发http: invalid Host header错误。
额外注意点(非当前错误直接原因)
.env文件中的REDIS_PORT需确保未与EC2实例上其他服务端口冲突;- CELERY_BEAT_SCHEDULE的schedule写法冗余,
timedelta(seconds=60 * 10).seconds可简化为timedelta(minutes=10),不影响功能但更规范。
修复操作
- 修改Celery配置文件中的Broker URL:
CELERY_BROKER_URL = 'redis://redis:6379/0'
- 重启Docker服务:
docker-compose down && docker-compose up -d
内容的提问来源于stack exchange,提问作者Edgar Navasardyan
相关产品推荐
相关产品推荐

