AWS Fargate部署Symfony应用响应头异常问题求助
Symfony应用在AWS Fargate+ALB环境下的间歇性响应头异常求助
背景情况
我们有一个旧版Symfony应用,部署在多台EC2实例上时每日处理数百万请求均无异常。为方便开发,我们将应用容器化,本地开发使用该容器无需安装全部依赖,容器内的nginx/supervisor/php-fpm配置与生产EC2实例完全一致。
现在为简化开发流程,计划采用AWS Fargate替代EC2搭建多套开发环境:镜像推送至ECR,通过Fargate策略部署到集群中。当前架构为1个集群运行1个服务,仅包含1个任务,服务通过ELB -> 目标组对外提供服务。
问题现象
应用运行初期正常,但运行一段时间(数小时或数天)后,会出现间歇性响应头异常:
- 响应内容为JSON,但
Content-Type被标记为text/html - 丢失
access-control-allow-headers、access-control-allow-credentials、access-control-allow-methods等CORS相关头信息,导致客户端浏览器触发CORS错误 - 异常表现特殊:同一页面发起10次请求,9次正常、1次返回200但头异常;且异常端点会持续出错,直至重启Fargate任务后恢复
排查尝试与配置信息
- 这些响应头原本由Symfony应用返回,我们尝试在nginx配置中强制添加这些头信息,问题依旧存在
- 相关配置细节:
- Docker镜像暴露80端口给服务
- 负载均衡器(Application Load Balancer,ALB)将HTTPS(443)流量转发至容器80端口,流量可正常到达容器
- ALB已启用HTTP/2
- 与生产环境的核心差异:生产环境使用仅支持HTTP/1的旧款负载均衡器,新开发环境使用支持HTTP/2的ALB;其余配置(包括容器化后的nginx/php等)与生产EC2实例完全一致
响应头对比截图
- 异常响应头:

- 正常响应头:

有没有人遇到过类似的问题?
内容的提问来源于stack exchange,提问作者manuerumx
相关产品推荐
相关产品推荐

