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

Laravel 10生产环境Vite未用HTTPS导致资源加载失败的问题咨询

Laravel 10 + Vite生产环境HTTPS资源加载问题解决指南

一、优先配置环境变量

生产环境下,Vite生成资源URL依赖Laravel的APP_URL环境变量,第一步要确保.env文件里的地址是HTTPS:

APP_URL=https://你的域名.com

配置完成后必须运行php artisan config:cache,让Laravel加载新的配置,避免读取缓存的旧HTTP地址。

二、调整Vite配置(备选方案)

如果APP_URL配置后资源还是HTTP,可以在vite.config.js中手动指定base路径,强制使用HTTPS:

import { defineConfig } from 'vite';
import laravel from 'laravel-vite-plugin';

export default defineConfig({
    plugins: [
        laravel({
            input: ['resources/css/app.css', 'resources/js/app.js'],
            refresh: true,
            // 手动指定HTTPS的资源基础路径
            base: 'https://你的域名.com/build/',
        }),
    ],
    server: {
        host: true,
        hmr: {
            host: 'localhost'
        }
    },
});

注:Laravel Vite插件默认会读取APP_URL生成资源地址,优先保证环境变量正确,此步骤仅作为备选。

三、检查Laravel核心配置

确认config/app.php中的url项是从环境变量获取的,避免硬编码HTTP:

'url' => env('APP_URL', 'http://localhost'),

如果这里写死了HTTP地址,会直接覆盖.env的配置。

四、服务器反向代理协议识别

如果应用部署在反向代理(如Nginx)后面,Laravel可能无法识别真实请求协议,导致生成HTTP资源URL。

Nginx配置示例

在站点配置中添加以下请求头:

location / {
    # 其他原有配置
    proxy_set_header X-Forwarded-Proto $scheme;
    proxy_set_header X-Forwarded-For $remote_addr;
    proxy_set_header Host $host;
}

Laravel信任代理配置

发布信任代理配置文件:

php artisan vendor:publish --provider="Fideloper\Proxy\TrustedProxyServiceProvider"

然后在config/trustedproxy.php中添加代理服务器IP到信任列表:

'proxies' => [
    '127.0.0.1',
    // 你的代理服务器公网IP
],

五、其他排查方向

  • 浏览器缓存:强制刷新页面(Ctrl+F5)或清除浏览器缓存,避免加载旧的HTTP资源链接。
  • 构建缓存:删除public/build目录和storage/framework/cache/data下的缓存文件,重新运行npm run build。
  • CDN配置:如果使用CDN,确保CDN的资源地址是HTTPS,且缓存已更新。

内容的提问来源于stack exchange,提问作者C. Leo

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.19 19:28:23