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

Excel加载项使用axios调用HTTP接口被HTTPS拦截如何解决

问题原因

触发的是浏览器内置的混合内容安全拦截规则:通过Office Add-in CLI创建的项目默认会配置本地HTTPS证书,任务窗格页面通过HTTPS协议加载,此时页面发起非HTTPS的HTTP请求会被直接拦截,对应报错如下:

Mixed Content: The page at 'https://localhost:3000/taskpane.html?_host_Info=####'
was loaded over HTTPS, but requested an insecure XMLHttpRequest endpoint
'http://#######'. This request has been blocked;
the content must be served over HTTPS.
可行方案

首先明确:生产环境发布的Office加载项强制要求全链路HTTPS,永久禁用HTTPS会导致加载项无法正常加载、也无法通过商店审核,仅本地开发调试阶段可临时调整配置。

方案1:本地调试临时禁用HTTPS

按以下步骤修改项目配置即可关闭默认HTTPS:

  • 打开项目根目录下的webpack.config.js文件,找到devServer配置段:
    1. 将配置项https: true修改为https: false
    2. 删除server配置块下关联本地HTTPS证书的cert、key字段
  • 打开根目录下的package.json文件,找到start启动脚本,删除脚本中携带的--https参数
  • 重启本地开发服务,清除Webview/浏览器缓存后,任务窗格会通过HTTP协议加载,此时可正常发起HTTP接口请求
  • 注意:该配置仅用于本地临时调试,代码提交、发布前必须回滚上述修改。

方案2:保留HTTPS配置解决调用问题(推荐)

不需要修改加载项的HTTPS配置,通过代理转发绕过混合内容拦截,适配开发、生产全场景:

  • 本地调试阶段:直接用webpack-dev-server自带的代理能力,在devServer配置中添加转发规则,将匹配路径的请求自动转发到目标HTTP接口,示例配置如下:
devServer: {
  // 原有其他配置保持不变
  proxy: {
    '/api': {
      target: 'http://你要调用的目标HTTP服务地址',
      changeOrigin: true,
      secure: false
    }
  }
}

配置完成后,前端代码中直接请求本地同域的/api/xxx路径即可,devServer会自动将请求转发到目标HTTP接口,全程页面保持HTTPS协议,不会触发安全拦截。

  • 生产上线阶段:必须将调用的目标接口升级为HTTPS协议,这是Office加载项上线的强制要求,无其他绕过方式。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.09.10 16:15:45