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

Cloudfront部署后出现混合内容错误,后端无法修改时有没有可行解决方案

解决方案

你遇到的是HTTPS站点禁止调用HTTP资源的浏览器混合内容拦截规则,不需要修改EC2后端服务的前提下,最优方案是通过Cloudfront多源配置代理API请求,具体操作如下:

  • 进入当前关联前端S3的Cloudfront分发配置页,新增一个自定义源:
    源域名填写你的EC2地址 ec2-3-86-60-146.compute-1.amazonaws.com,端口指定为3030,源协议政策选择仅HTTP,不需要配置SSL相关内容。
  • 新增一条缓存行为规则:
    路径匹配规则填 /api/*,关联刚创建的EC2源,缓存策略选择禁用缓存(动态API无需缓存),按需开启GET/POST/PUT/DELETE等允许的HTTP方法。
  • 修改前端API调用地址:
    把原本硬编码的EC2 HTTP地址 http://ec2-3-86-60-146.compute-1.amazonaws.com:3030/api/xxx 替换为相对路径 /api/xxx,前端请求会自动带上当前Cloudfront的HTTPS域名,不会再触发跨协议拦截。
    这套方案所有HTTPS解密都在Cloudfront层完成,Cloudfront到EC2的回源请求依然走HTTP,完全不需要修改EC2上的后端服务配置。

如果仅用于本地调试无需对外提供服务,可以临时修改浏览器安全设置,允许当前站点加载混合内容,该方案不适合生产环境使用。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.09.30 19:15:01