すべてのプロダクト
Search
ドキュメントセンター

Alibaba Cloud SDK:プロキシ設定

最終更新日:Nov 09, 2025

ソフトウェア開発において、プロキシは機能やリソースへのアクセスを制御するための中間者として機能します。プロキシを使用すると、元のコードを変更することなく、権限チェック、操作ログ、キャッシュデータ、遅延読み込みなどの機能を実装できます。このアプローチにより、プログラムのセキュリティ、速度、保守性、拡張性が向上します。この Topic では、V2.0 Go SDK のプロキシを設定する方法について説明します。

プロキシの種類

HTTP プロキシ、HTTPS プロキシ、または SOCKS5 プロキシを設定できます。アプリケーションには 1 種類のプロキシのみを選択することをお勧めします。

プロキシの種類

説明

HTTP プロキシ

httpProxy パラメーターを使用して、プロキシサーバーのアドレスとポートを設定します。フォーマットは http://<IP アドレス>:<ポート> です。この設定は HTTP リクエストにのみ適用されます。

HTTPS プロキシ

httpsProxy パラメーターを使用して、プロキシサーバーのアドレスとポートを設定します。フォーマットは http://<IP アドレス>:<ポート> です。この設定は HTTPS リクエストにのみ適用されます。

SOCKS5 プロキシ

SOCKS5 プロキシを使用するには、socks5Proxy と Socks5NetWork の両方のパラメーターを設定します。socks5Proxy を使用して、プロキシサーバーのアドレスとポートを socks5://<IP アドレス>:<ポート> のフォーマットで設定します。Socks5NetWork を使用して、TCP や UDP などのトランスポートプロトコルを指定します。

説明

プロキシサーバーで身分認証が必要な場合は、IP アドレスの前にユーザー名とパスワードを追加します。フォーマットは http://<user>:<password>@<IP アドレス>:<ポート> または socks5://<user>:<password>@<IP アドレス>:<ポート> です。

HTTP または HTTPS プロキシを使用する場合、noProxy パラメーターを使用して、プロキシをバイパスするアドレスのリストを指定できます。複数のアドレスはカンマで区切ります。ドメイン名と IP アドレスの両方を使用できます。

プロキシ設定メソッド

説明

プロキシ設定は、RuntimeOptions 設定、Config 設定、環境変数設定の順に優先されます (優先度の高い順)。

  • 環境変数を使用してプロキシを設定します。

    説明

    環境変数は SOCKS5 プロキシ設定パラメーターではサポートされていません。

    • HTTP_PROXY または http_proxy 環境変数を使用して、プロキシサーバーのアドレスを指定します。

    • HTTPS_PROXY または https_proxy 環境変数を使用して、プロキシサーバーのアドレスを指定します。

    • NO_PROXY または no_proxy 環境変数を使用して、プロキシをバイパスするアドレスのリストを指定します。

  • 実行時パラメーター (RuntimeOptions) を使用してプロキシを設定します。この設定は、これらの実行時パラメーターを使用するリクエストにのみ適用されます。

    import (
        util "github.com/alibabacloud-go/tea-utils/v2/service"
        openapi "github.com/alibabacloud-go/darabonba-openapi/v2/client"
        "github.com/alibabacloud-go/tea/tea"
    )
    
    config := &openapi.Config{
        Protocol: tea.String("https"),
    }
    
    runtime := &util.RuntimeOptions{
        // 必要に応じてリクエストプロトコル (Protocol) を変更します。httpsProxy は HTTPS プロトコルでのみ有効で、httpProxy は HTTP プロトコルでのみ有効です。
        HttpProxy:  tea.String("http://127.0.0.1:9898"),
        HttpsProxy: tea.String("http://127.0.0.1:8989"),
        
        NoProxy:    tea.String("127.0.0.1,localhost"),
    
        // SOCKS5 プロキシ
        // Socks5Proxy:   tea.String("socks5://127.0.0.1:8989"),
        // Socks5NetWork: tea.String("tcp"), 
    }
    
  • Alibaba Cloud プロダクトのクライアントインスタンスを初期化するときに、Config でプロキシを設定します。この設定はすべてのリクエストに適用されます。

    次のコードに例を示します。

    import (
        openapi "github.com/alibabacloud-go/darabonba-openapi/v2/client"
        "github.com/alibabacloud-go/tea/tea"
    )
    
    config := &openapi.Config{
        // httpsProxy は HTTPS プロトコルでのみ有効で、httpProxy は HTTP プロトコルでのみ有効です。
        Protocol: tea.String("https"),
    
        // HTTP プロキシ
        HttpProxy:  tea.String("http://127.0.0.1:9898"),
        // HTTPS プロキシ
        HttpsProxy: tea.String("http://127.0.0.1:8989"),
        
        NoProxy:    tea.String("127.0.0.1,localhost"),
    
        // SOCKS5 プロキシ
        // Socks5Proxy:   tea.String("socks5://127.0.0.1:8989"),
        // Socks5NetWork: tea.String("tcp"),
    }
    

関連ドキュメント

詳細については、「HTTP プロキシ設定の実践」をご参照ください。