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

Axios经域名发起GET请求时URL多出额外斜杠异常

Axios域名访问出现双斜杠问题排查与解决

核心排查逻辑

IP访问正常、仅域名访问出现双斜杠,说明问题出在「域名访问独有的链路环节」,和后端服务本身逻辑无关——IP直连通常是直接访问后端服务,域名访问会经过前端配置、代理层、CDN/WAF、反向代理等额外环节,逐一排查这些环节即可定位问题。


分步排查方案

  • 优先核对Axios基础配置
    绝大多数这类问题都是baseURL和请求路径的斜杠拼接冲突导致:

    1. 检查Axios实例初始化的baseURL值,如果配置为https://DOMAIN_NAME/(末尾带斜杠),同时请求接口的路径写为/api/get(开头带斜杠),两者拼接就会生成https://DOMAIN_NAME//api/get。
    2. IP访问无异常是因为本地开发环境的devServer代理默认会自动规范化路径、合并重复斜杠,生产环境域名直连时没有这层代理的自动处理,问题就会暴露。
      修正方式二选一即可:
    • 移除baseURL末尾的斜杠,改为https://DOMAIN_NAME,保留请求路径开头的斜杠
    • 保留baseURL末尾的斜杠,移除所有请求路径开头的斜杠,改为api/get
  • 排查域名接入层的转发配置
    域名访问一般会经过CDN、WAF、Nginx反向代理、负载均衡层,IP直连通常会绕过这些层:

    1. 若使用Nginx做反向代理,先检查merge_slashes配置项,确认该配置为on(默认开启,部分运维做性能优化时会手动关闭),开启后Nginx会自动合并路径中的连续斜杠。
    2. 检查proxy_pass配置:如果proxy_pass的值末尾带斜杠(例如proxy_pass http://upstream_server/;),配合location /的匹配规则时,部分Nginx版本拼接路径会产生重复斜杠,可移除proxy_pass末尾的斜杠测试。
    3. 检查CDN/WAF的回源规则,若同时配置了"回源携带匹配路径前缀"和"自定义源站路径前缀",两个前缀都带斜杠时就会拼接出双斜杠,可临时开启CDN的路径规范化功能验证。
  • 排查Axios拦截器逻辑
    检查项目中封装的Axios全局请求拦截器,确认拦截器内是否存在路径拼接逻辑:部分项目会在拦截器内根据访问环境(域名/IP)拼接不同的接口前缀,若判断逻辑存在漏洞,域名环境下就可能多拼接一个斜杠。可以在拦截器发起请求前打印config.url的完整值,确认双斜杠是前端代码层生成,还是请求发出后被网络中间层添加。


临时兜底方案

如果短时间无法定位具体产生斜杠的环节,可以直接在Axios请求拦截器中添加路径规范化逻辑,自动合并路径中的连续斜杠,不影响正常请求:

axios.interceptors.request.use(config => {
  // 跳过协议头(http/https)的双斜杠,仅替换路径部分的连续多斜杠
  config.url = config.url.replace(/(?<!:)\/{2,}/g, '/')
  return config
})

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.29 05:12:19