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

Laravel站点部署AWS Elastic Beanstalk后HTTPS重定向JS混合内容问题如何解决?

解决AWS Elastic Beanstalk上Laravel JS资源的混合内容阻止问题

我之前在AWS Elastic Beanstalk上部署Laravel应用时,碰到过和你完全一样的情况——负载均衡已经配置了HTTP强制转HTTPS,主域名、子页面和图片都能正常跳转到HTTPS,唯独用asset()助手加载的JavaScript资源还是走HTTP,触发浏览器的混合内容阻止错误。

问题原因

当Laravel应用部署在AWS负载均衡后面时,后端的Web服务器收到的其实是HTTP请求(HTTPS在负载均衡层面就终止了)。Laravel的asset()助手会根据当前请求的协议生成资源URL,所以默认会输出HTTP链接,哪怕负载均衡已经做了跳转。

修复方法

打开app/Providers/AppServiceProvider.php,在boot()方法中添加以下代码:

if (env('APP_ENV') !== 'local') {
    URL::forceScheme('https');
}

如果文件顶部还没引入URL门面,记得加上:

use Illuminate\Support\Facades\URL;

这段代码的作用是:在非本地开发环境下,强制Laravel的所有URL生成助手(包括asset())都使用HTTPS协议,这样生成的JS资源链接就都是HTTPS的了,彻底解决混合内容问题。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.05.06 23:17:32