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

HTTPS环境下Vue2应用Axios调用HTTP接口被自动转HTTPS问题排查

HTTP请求被自动转换为HTTPS的原因及解决方案

常见触发原因

  • HSTS(HTTP严格传输安全)规则生效:如果该API域名曾经返回过HSTS响应头,或者域名被加入了浏览器内置的HSTS列表,浏览器会强制将该域名下所有HTTP请求自动升级为HTTPS,不会发起任何HTTP请求。
  • CSP(内容安全策略)配置了请求升级指令:部署Vue应用的IIS站点如果返回了Content-Security-Policy: upgrade-insecure-requests响应头,页面内所有HTTP请求都会被浏览器自动升级为HTTPS,优先级高于代码里写的固定协议。
  • Axios全局请求拦截器修改了协议:检查项目中是否有全局注册的Axios请求拦截器,存在逻辑在请求发送前统一替换了baseURL的协议前缀。
  • Chrome默认HTTPS优先策略:新版本Chrome默认开启HTTPS优先模式,会主动将所有未指定HTTPS的请求尝试升级为HTTPS访问。
  • IIS URL重定向规则影响:如果API站点配置了HTTP到HTTPS的301/302重定向规则,首次请求HTTP后会被跳转到HTTPS,浏览器也会缓存重定向规则后续直接发HTTPS请求。

临时调试阶段的关闭方案

  1. 清除HSTS缓存:打开Chrome访问chrome://net-internals/#hsts,在「Delete domain security policies」模块输入API域名studentportal4api.jcdev.org,点击删除即可临时清除该域名的HSTS规则。
  2. 移除CSP升级指令:检查Vue站点的IIS响应头,临时删除upgrade-insecure-requests相关的CSP配置。
  3. 调试验证拦截器逻辑:在Axios请求拦截器中打印config.url,确认请求发送前地址是否被篡改,如有相关逻辑临时注释即可。
  4. 关闭Chrome HTTPS优先:打开Chrome设置,搜索「HTTPS优先模式」,临时关闭该功能,或者将测试域名加入例外列表。
  5. 关闭IIS重定向规则:临时删除API站点配置的HTTP转HTTPS重定向规则,确保HTTP请求可以正常响应。

你配置的Axios实例代码无逻辑问题,排除上述配置类影响即可正常发起HTTP请求:

const apiClient = axios.create({
  baseURL: 'http://studentportal4api.jcdev.org',// 这里明确指定了http协议
  // Timeout: 10000,
  headers: {
    Accept: 'application/json',
    'Content-Type': 'application/json',
  },
})

接口调用代码无逻辑问题:

return apiClient
    .get('/DoCdssLoginTests', {
      params: {
        sAdName: adName,
      },
      
    })
    .then((response) => {

      if (response.data.errorType == 'Error') {
        dispatch('handleErrorMsg', response)
      } else {
       // 业务逻辑省略        
      }
    })

问题截图

内容的提问来源于stack exchange,提问作者Eric Brown - Cal

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.10.02 07:36:03