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

Alibaba Cloud SDK:HTTPS リクエスト構成

最終更新日:Jun 13, 2026

V2.0 SDK を使用する場合、ご利用のアプリケーションはデフォルトで HTTPS を通じて Alibaba Cloud サービスにアクセスします。com.aliyun.teaopenapi.models.Config クラスの protocol パラメーターを使用して、希望する通信プロトコルを選択できます。有効な値は HTTP または HTTPS です。データを安全に送信するため、常に HTTPS を使用してください。

com.aliyun.teaopenapi.models.Config config = new com.aliyun.teaopenapi.models.Config();
config.setProtocol("HTTPS");

HTTPS プロトコルを使用してリソースにアクセスする場合、SDK はデフォルトで SSL/TLS 証明書検証を有効にします。ご利用の環境に必要な証明書が存在しない場合、証明書検証失敗エラーが発生する可能性があります。com.aliyun.teautil.models.RuntimeOptions クラスの ignoreSSL パラメーターを使用して、SSL/TLS 証明書検証を有効にするかどうかを制御できます。たとえば、ステージング環境では一時的なテストのために ignoreSSLtrue に設定して証明書検証を無視できます。

重要

本番環境では、SSL/TLS 証明書検証を有効にしてください。

com.aliyun.teautil.models.RuntimeOptions runtimeOptions = new com.aliyun.teautil.models.RuntimeOptions();
// true: 証明書検証をスキップ、false: 証明書を検証(デフォルトは false)
runtimeOptions.ignoreSSL = true;

一般的な HTTPS 接続の問題

Java クライアントが Connection reset エラーを報告する

Java コードから HTTPS 経由で API を呼び出す際、同じ URL がブラウザでは正常に動作するにもかかわらず、Connection resetjavax.net.ssl.SSLException エラーが発生することがあります。これは通常、Java ランタイムが使用する TLS バージョンがサーバーがサポートするバージョンと一致しないために発生します。

根本原因

  • JDK 7 以前のバージョンはデフォルトで TLS 1.0 を使用します。JDK 8 はデフォルトで TLS 1.2 を使用します。

  • 対象サーバーは TLS 1.0 および TLS 1.1 を無効化しており、TLS 1.2 以降のみをサポートしています。

  • ブラウザは自動的にサポートされる最高の TLS バージョンをネゴシエートしますが、Java クライアントは JDK のデフォルトバージョンを使用するため、動作が不一致になります。

ソリューション

Config オブジェクトを作成した後、JVM 引数またはコードを使用して TLS バージョンを明示的に 1.2 に設定してください。

  • オプション 1:JVM 起動引数を設定する

    開始コマンドに次のパラメーターを追加します。

    java -Dhttps.protocols=TLSv1.2 -jar your-app.jar
  • オプション 2:コード内で TLS バージョンを指定する

    // プログラムのエントリーポイントでシステムプロパティを設定
    System.setProperty("https.protocols", "TLSv1.2");

変更を適用した後、プログラムを再実行し、HTTPS 呼び出しが正しく動作することを確認してください。エラーが継続する場合は、対象サーバーがサポートする TLS バージョンおよび暗号スイートを確認し、ご利用の Java 環境との互換性があることを確認してください。