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

如何修改AWS ElasticBeanstalk Docker应用的CORS配置以禁止全源访问?

修复AWS Elastic Beanstalk + LB环境下的CORS允许所有源问题

1. 排查负载均衡器的自定义头配置

AWS负载均衡器(LB)可能被配置为自动添加Access-Control-Allow-Origin头,覆盖了应用自身的设置:

  • 登录AWS控制台,进入EC2服务,找到目标LB
  • 切换到监听器标签,选中处理HTTP/HTTPS的监听器,点击「查看规则」
  • 检查每条转发规则的「操作」部分,是否存在添加Access-Control-Allow-Origin的配置:
    • 如果值设为*或动态匹配请求的Origin,直接修改为你需要允许的具体域名(如https://your-production-domain.com)
    • 如果不需要LB处理CORS,直接删除该自定义头配置,让应用返回自身的CORS头

2. 用Elastic Beanstalk扩展配置强制设置CORS规则

如果LB无相关配置,可通过.ebextensions文件覆盖EB的代理(Nginx/Apache)配置:

  • 在应用根目录创建.ebextensions文件夹(若不存在)
  • 新建cors.config文件,根据你的EB平台类型选择配置:

Nginx平台(大部分EB Docker环境默认用Nginx)

files:
  "/etc/nginx/conf.d/cors.conf":
    mode: "000644"
    owner: root
    group: root
    content: |
      add_header Access-Control-Allow-Origin "https://your-allowed-domain.com" always;
      add_header Access-Control-Allow-Methods "GET, POST, PUT, DELETE, OPTIONS" always;
      add_header Access-Control-Allow-Headers "Content-Type, Authorization" always;

      if ($request_method = OPTIONS) {
        return 204;
      }

Apache平台

files:
  "/etc/httpd/conf.d/cors.conf":
    mode: "000644"
    owner: root
    group: root
    content: |
      Header set Access-Control-Allow-Origin "https://your-allowed-domain.com"
      Header set Access-Control-Allow-Methods "GET, POST, PUT, DELETE, OPTIONS"
      Header set Access-Control-Allow-Headers "Content-Type, Authorization"

      <LimitExcept GET POST PUT DELETE OPTIONS>
        Deny from all
      </LimitExcept>
  • 执行eb deploy重新部署应用,让EB加载该配置

3. 验证容器自身的CORS配置

绕过LB直接访问EC2上的容器,确认应用本身的CORS逻辑是否正常:

  • 用curl测试:
curl -H "Origin: https://random-test-domain.com" -I http://<EC2实例IP>:<容器暴露端口>/api/test-endpoint
  • 如果返回的Access-Control-Allow-Origin是指定域名,说明问题出在LB/EB代理;如果还是返回请求的Origin,需要检查应用代码中的CORS逻辑,避免直接将请求Origin作为响应头返回

4. 检查EB平台的代理环境变量

部分EB平台支持通过环境变量控制CORS:

  • 进入EB控制台,打开应用的「配置」->「软件」->「环境属性」
  • 添加环境变量ACCESS_CONTROL_ALLOW_ORIGIN,值设为允许的域名,确保应用或代理能读取该变量并生成正确的响应头

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.06.20 20:42:07