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

同一端口HTTPS应用加载HTTP缓存字体触发混合内容错误求助

解决HTTPS应用混合内容字体请求错误的方案

问题根源

虽然你确认HTTPS应用未引入目标字体,但浏览器的Service Worker缓存、Vite开发缓存,或是未彻底清理的浏览器磁盘缓存残留,导致旧的HTTP资源请求被触发,进而引发混合内容拦截。

修复步骤

  • 清除浏览器Service Worker缓存
    打开Chrome开发者工具(F12),切换到「Application」标签,左侧找到「Service Workers」,勾选「Update on reload」,点击当前域名下的「Unregister」按钮,刷新页面确认清除。

  • 清理Vite开发缓存
    关闭当前Vite服务,删除项目根目录下的.vite文件夹(Vite的开发缓存目录),重新启动HTTPS应用,让Vite重新构建所有资源。

  • 强制浏览器彻底刷新
    按下Ctrl + Shift + R(Windows/Linux)或Cmd + Shift + R(Mac),强制绕过缓存加载页面。

  • 优化Vite配置
    给vite.config.ts的server配置添加strictPort: true,确保端口被完全占用,避免旧HTTP进程残留;同时补充loadEnv的导入(你的配置里漏了),修正后的配置如下:

import { defineConfig, loadEnv } from 'vite' // 补充导入
import react from '@vitejs/plugin-react'
import basicSsl from '@vitejs/plugin-basic-ssl'

export default (mode: string) => {
  process.env = {...process.env, ...loadEnv(mode, process.cwd())};
  return defineConfig({
    plugins: [react(), basicSsl()],  
    server: {
      port: parseInt(process.env.VITE_PORT as string),
      host: true,
      strictPort: true // 新增:强制占用端口,冲突时直接报错
    },
  });
}
  • 检查并清理端口占用
    打开命令提示符,运行netstat -ano | findstr :5173查看端口5173的占用情况,如果有旧的HTTP应用进程残留,找到对应PID,通过任务管理器结束后再重启HTTPS应用。

验证

完成上述操作后,打开Chrome开发者工具的「Network」标签,过滤font类型请求,确认不再出现http://192.168.1.97:5173开头的字体请求即可。

内容的提问来源于stack exchange,提问作者MinhSu - Justin

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.06.21 12:52:39