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

Laravel 9执行npm run dev时出现SSL版本/密码套件不匹配错误求助

解决Laravel 9 + Vite开发服务器SSL版本/密码套件不匹配问题

问题根源

出现net::ERR_SSL_VERSION_OR_CIPHER_MISMATCH错误的核心原因:Vite开发服务器默认会生成自签名临时证书,但你的Apache服务器使用的是Cloudflare颁发的绑定域名的正式证书,两者证书信息不匹配;同时你之前配置中直接使用IP而非域名,也会和Cloudflare证书绑定的域名不匹配,双重因素导致浏览器SSL连接验证失败。

解决方案

1. 修改Vite配置,复用Apache的SSL证书

更新vite.config.js的server配置,指定Cloudflare证书的路径,并将host替换为你的域名(而非IP):

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

export default defineConfig({
    server: {
        // 配置为你Apache使用的Cloudflare证书路径
        https: {
            key: '/etc/cloudflare/domain.com.key',
            cert: '/etc/cloudflare/domain.com.pem',
        },
        hmr: {
            host: "domain.com",
        },
        host: "domain.com",
        watch: {
            usePolling: true,
        },
    },
    plugins: [
        laravel({
            input: [
                'resources/scss/app.scss',
                'resources/js/app.js',
            ],
            refresh: [
                ...refreshPaths,
                'app/Https/Livewire/**',
            ],
        }),
    ],
});

2. 配置本地Hosts(本地开发场景)

如果是在本地机器访问服务器,需要将域名指向服务器IP:

  • Linux/macOS:编辑/etc/hosts,添加一行:
    你的服务器IP  domain.com www.domain.com
    
  • Windows:编辑C:\Windows\System32\drivers\etc\hosts,添加上述内容

3. 更新Laravel环境变量

修改.env文件中的APP_URL为HTTPS域名:

APP_URL=https://domain.com

4. 重启相关服务

  • 重启Apache:
    sudo systemctl restart apache2
    
  • 停止当前运行的npm run dev,重新执行:
    npm run dev
    

验证

重新访问站点后,Vite开发服务器将使用与Apache一致的Cloudflare证书,浏览器可正常验证SSL连接,资源加载错误即可解决。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.02 20:05:30