Todos os produtos
Search
Central de documentação

Alibaba Cloud SDK:Configure a proxy

Última atualização: Jun 28, 2026

Se o seu ambiente rotear o tráfego de saída por um servidor proxy, configure-o antes de enviar solicitações do SDK.

Métodos de configuração

Nota

Se ambos os métodos estiverem configurados, a definição na inicialização do cliente terá prioridade sobre as variáveis de ambiente.

  • Variáveis de ambiente: abordagem mais simples para ambientes em contêineres ou de CI/CD. Defina uma ou mais das seguintes variáveis antes de iniciar a aplicação:

    • HTTP_PROXY ou http_proxy: URL do proxy para solicitações HTTP. Exemplo: http://127.0.0.1:8080.

    • HTTPS_PROXY ou https_proxy: URL do proxy para solicitações HTTPS, com credenciais opcionais. Formato: http://<user>:<password>@<host>:<port>. Exemplo: http://user:password@127.0.0.1:8989.

    • NO_PROXY ou no_proxy: lista de endereços IP ou nomes de domínio separados por vírgulas que ignoram o proxy. Exemplo: 127.0.0.1,localhost.

  • Inicialização do cliente: configure o proxy programaticamente ao inicializar um cliente do SDK. Essa configuração substitui qualquer definição de variável de ambiente.

    import (
    	"fmt"
    
    	"os"
    
    	"github.com/aliyun/alibaba-cloud-sdk-go/sdk"
    	"github.com/aliyun/alibaba-cloud-sdk-go/sdk/auth/credentials"
    	ecs "github.com/aliyun/alibaba-cloud-sdk-go/services/ecs"
    )
    
    func main() {
    	// Initialize the SDK configuration.
    	config := sdk.NewConfig()
    	// Use the AccessKey ID and AccessKey secret of the Resource Access Management (RAM) user.
    	credential := credentials.NewAccessKeyCredential(os.Getenv("ALIBABA_CLOUD_ACCESS_KEY_ID"), os.Getenv("ALIBABA_CLOUD_ACCESS_KEY_SECRET"))
    	client, err := ecs.NewClientWithOptions("cn-hangzhou", config, credential)
    	if err != nil {
    		panic(err)
    	}
    	// Configure proxies on the initialized client.
    	// Format for an authenticated proxy: http://<user>:<password>@<host>:<port>
    	client.SetHttpsProxy("http://user:password@127.0.0.1:8989") // HTTPS proxy
    	client.SetHttpProxy("http://127.0.0.1:8080")                // HTTP proxy
    	client.SetNoProxy("127.0.0.1,localhost")                    // Comma-separated IPs or domain names that bypass the proxy
    
    	// Create a request.
    	request := ecs.CreateDescribeRegionsRequest()
    	request.Scheme = "https"
    	// Set the request parameters.
    	request.InstanceChargeType = "PrePaid" // The billing method of the instance.
    	request.ResourceType = "instance"      // The resource type.
    	// Send the request and handle the response.
    	response, err := client.DescribeRegions(request)
    	if err != nil {
    		fmt.Print(err.Error())
    	}
    	fmt.Printf("response is %#v\n", response)
    }