全部产品
Search
文档中心

阿里云SDK:HTTPS请求配置

更新时间:Jun 12, 2026

在使用V2.0 SDK开发时,默认采用HTTPS协议访问阿里云服务。您可以通过com.aliyun.teaopenapi.models.Config类的 protocol 参数灵活选择所需的通信协议,支持的值包括HTTPHTTPS。为保障数据传输安全,建议始终优先使用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证书校验。例如,在测试环境中,您可以将 ignoreSSL 设置为true,以忽略证书校验进行临时测试。

重要

生产环境建议启用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调用接口时,如果出现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。

  • 方式一:设置JVM启动参数

    在启动命令中添加以下参数:

    java -Dhttps.protocols=TLSv1.2 -jar your-app.jar
  • 方式二:在代码中指定TLS版本

    // 在程序入口处设置系统属性
    System.setProperty("https.protocols", "TLSv1.2");

设置完成后重新运行程序,验证HTTPS调用是否恢复正常。如果仍然报错,检查目标服务端支持的TLS版本和密码套件,确认与Java环境兼容。