You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

通过AWS CodePipeline构建Docker镜像部署到EBS后HTTPS请求超时排查求助

排查方向指引
  • 对比本地构建与CodeBuild构建的镜像差异
    拉取ECR存储的镜像到本地,和之前上传Docker Hub的镜像做一致性校验:
    • 执行docker inspect <镜像ID> | grep ExposedPorts检查两个镜像暴露的端口是否一致,确认Dockerfile中是否同时配置了EXPOSE 80和EXPOSE 443,排除CodeBuild构建过程中端口配置被意外修改的问题
    • 对比两个镜像内的nginx配置文件、启动参数是否完全一致,排除构建过程中配置被覆盖的问题
  • 核查CodeBuild构建流程配置
    检查CodeBuild使用的buildspec.yml文件:
    • 确认构建打包环节没有遗漏根目录下的.ebextensions文件夹,你可以直接下载CodePipeline输出的部署包,解压验证https-instance.config、https-instance-single.config两个文件是否完整存在、内容无修改。EBS需要读取该文件夹下的配置完成实例HTTPS端口放行、证书拉取的初始化操作,文件丢失会直接导致HTTPS不通
    • 确认构建过程没有额外修改Dockerfile的ENTRYPOINT、CMD指令,排除nginx启动逻辑被篡改、未监听443端口的问题
  • 登录EBS关联的EC2实例排查运行状态
    • 执行sudo iptables -L -n核查实例防火墙规则,确认443端口入站规则未被拦截
    • 执行docker ps查看运行容器的端口映射规则,确认存在0.0.0.0:443->443/tcp的映射记录,若不存在则是EBS部署时未正确识别HTTPS端口配置
    • 进入运行中的容器,执行curl -vk https://localhost测试本地HTTPS服务是否正常,如果本地访问失败,查看nginx错误日志/var/log/nginx/error.log即可定位证书加载、端口监听相关的问题
    • 检查实例上的SSL证书是否正常拉取,进入你配置的证书存储路径(默认一般为/etc/pki/tls/certs/)确认证书文件存在、权限配置正确
  • 验证部署包结构一致性
    你之前使用Docker Hub镜像部署时,部署包仅需包含Dockerrun.aws.json即可正常读取.ebextensions配置,切换CodePipeline后需确认输出的部署包结构没有发生变化,避免EBS无法正常识别配置文件导致HTTPS初始化失败

内容的提问来源于stack exchange,提问作者user826988

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.09.25 17:06:01