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

当Axios作为嵌套依赖模块时,如何正确配置代理参数?

解决企业代理环境下DyDx v4-client的Axios代理配置问题

可行方案:

  • 环境变量配置(推荐,无需改代码)
    Node.js环境下,Axios会自动读取HTTP_PROXY和HTTPS_PROXY环境变量,直接在启动应用前设置即可:

    # Windows cmd
    set HTTPS_PROXY=http://foo.bar:1234
    # Windows PowerShell
    $env:HTTPS_PROXY = "http://foo.bar:1234"
    # Linux/macOS
    export HTTPS_PROXY=http://foo.bar:1234
    

    若代理需要认证,格式为http://username:password@foo.bar:1234。此方式会让Axios自动处理HTTPS请求的代理转发,避免手动配置时的SSL握手问题。

  • 全局修改Axios默认配置
    在应用入口文件最顶部,通过模块导入获取嵌套的Axios实例,设置全局代理:

    // 应用入口(如index.ts)顶部添加
    import axios from 'axios';
    import https from 'https';
    
    axios.defaults.proxy = {
      protocol: 'http',
      host: 'foo.bar',
      port: 1234
    };
    
    // 若企业代理使用自签证书,需禁用证书验证(仅内部环境使用)
    axios.defaults.httpsAgent = new https.Agent({ rejectUnauthorized: false });
    

    所有依赖该Axios实例的请求(包括DyDx client的请求)都会自动应用此配置。

  • 用patch-package持久化修改依赖源码
    手动修改编译后的JS文件会在依赖更新后失效,使用patch-package可持久化修改:

    1. 安装工具:
      npm install patch-package --save-dev
      
    2. 找到node_modules/@dydxprotocol/v4-client中发起请求的源文件(如src/request.ts),在Axios配置中添加代理和证书相关设置:
      import https from 'https';
      
      // 修改request函数的axiosRequest配置
      return axiosRequest({
        url,
        method,
        data: body,
        headers,
        proxy: {
          protocol: 'http',
          host: 'foo.bar',
          port: 1234
        },
        httpsAgent: new https.Agent({ rejectUnauthorized: false })
      });
      
    3. 生成补丁文件:
      npx patch-package @dydxprotocol/v4-client
      
    4. 在package.json的scripts中添加:
      "scripts": {
        "postinstall": "patch-package"
      }
      
      后续每次安装依赖都会自动应用补丁。

关键注意点

  • 代理的protocol需设为http,企业代理通常用HTTP协议转发HTTPS请求,设为https会导致SSL握手失败。
  • 若出现SSL错误,大概率是企业代理使用自签证书,需通过httpsAgent禁用证书验证(仅限内部可信环境)。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.06.15 01:16:11