代理配置

更新时间:

在软件开发中,代理就像是一个“中间人”,它帮我们控制对某个功能或资源的访问。使用代理可以实现权限检查、记录操作日志、缓存数据、延迟加载等功能,而不用改动原来的代码。这样可以让程序更安全、运行更快,也更容易维护和扩展。本文将为您介绍V2.0 SDK中代理的配置方法。

代理类型

支持使用HTTP代理和HTTPS代理。

代理类型

描述

HTTP代理

通过参数httpProxy配置代理服务器地址和端口,格式为:http://<IP地址>:<端口>,仅对HTTP协议的请求生效。

HTTPS代理

通过参数httpsProxy配置代理服务器地址和端口,格式为:http://<IP地址>:<端口>,仅对HTTPS协议的请求生效。

说明

若代理服务器要求身份认证才能进行访问,请在IP地址前添加代理服务器配置的用户名和密码,格式为:http://<user>:<password>@<IP地址>:<端口>

此外,在配置代理后,也可通过参数noProxy指定无需通过代理访问的地址列表,多个地址之间用逗号分隔,支持域名和IP地址格式。

代理配置方式

说明

代理配置优先级:RuntimeOptions配置->Client配置,优先级依次降低。

  • 通过运行时参数(RuntimeOptions)配置当前请求的代理。

    const { RuntimeOptions } = require('@alicloud/tea-util');
    
    const runtime = new RuntimeOptions({
      // 设置http代理
      httpProxy: "http://xx.xx.xx.xx:8089",
      // 设置https代理
      httpsProxy: "https://xxx.xxx.xxx.xxx:9999",
      // 设置非代理地址
      noProxy: '127.0.0.1,localhost',
    });
    
    import * as $Util from '@alicloud/tea-util';
    
    // 创建RuntimeObject实例并设置运行参数。
    const runtime = new $Util.RuntimeOptions({
      // 设置http代理
      httpProxy: "http://xx.xx.xx.xx:8089",
      // 设置https代理
      httpsProxy: "https://xxx.xxx.xxx.xxx:9999",
      // 设置非代理地址
      noProxy: '127.0.0.1,localhost'
    });
    
  • 通过ConfigClient配置全局代理,完成配置后,该Client发起的所有请求均适用此代理设置。

    const { Config } = require('@alicloud/openapi-client');
    
    const config = new Config({
      // 设置http代理
      httpProxy: "http://xx.xx.xx.xx:8089",
      // 设置https代理
      httpsProxy: "https://xxx.xxx.xxx.xxx:9999",
      // 设置非代理地址
      noProxy: '127.0.0.1,localhost',
    });
    
    import * as $OpenApi from '@alicloud/openapi-client';
    
    const config = new $OpenApi.Config({
      // 设置http代理
      httpProxy: "http://xx.xx.xx.xx:8089",
      // 设置https代理
      httpsProxy: "https://xxx.xxx.xxx.xxx:9999",
      // 设置非代理地址
      noProxy: '127.0.0.1,localhost'
    });
    

相关文档

更多关于代理配置的信息,请参见HTTP代理配置实践