本文將為您介紹在Java(非同步)SDK中HTTPS請求相關配置。
在使用 Java(非同步)SDK 開發時,預設採用 HTTPS 協議訪問阿里雲服務。您可以通過 protocol 參數靈活選擇所需的通訊協定,支援的值包括HTTP或HTTPS。為保障資料轉送安全,建議始終優先使用HTTPS協議。
配置方式如下:
AsyncClient client = AsyncClient.builder()
.credentialsProvider(credentialProvider) // 此處省略credentialProvider實現過程。
.overrideConfiguration(
ClientOverrideConfiguration.create()
.setEndpointOverride("<ENDPOINT>") // 雲產品服務存取點。
.setProtocol("https") // 佈建要求協議,預設https。
)
.build();在使用HTTPS協議調用OpenAPI時,可以配置以下SSL/TLS相關參數以增強通訊的安全性或適應特殊網路環境:
配置參數 | 說明 |
x509TrustManagers | 配置自訂的CA認證信任管理器( |
keyManagers | 配置用戶端密鑰管理器( |
ignoreSSL | 是否跳過SSL/TLS認證驗證。其預設值為 重要 為保障生產環境通訊安全,建議該參數保持預設值。若為了在測試環境中快速調試或測試介面,可臨時跳過認證校正。 |
hostnameVerifier | 自訂HTTPS主機名稱驗證規則。若不配置,系統會採用Java的預設驗證邏輯,即驗證伺服器的主機名稱是否與認證中的網域名稱匹配。使用者可以根據實際需求實現自訂邏輯,以滿足特定情境下的驗證需求,例如在某些內部網路環境中,可能需要對主機名稱或特定IP地址進行特殊處理。 |
您可以根據實際業務情境選擇性地配置上述參數,以增強通訊的安全性或適應特殊網路環境。
需要注意的是,任何對SSL/TLS驗證的修改都可能影響通訊的安全性,因此在生產環境中應謹慎使用。
範例程式碼如下:
HttpClient httpClient = new ApacheAsyncHttpClientBuilder()
// 使用HTTPS協議時,可配置SSL/TLS相關參數
.x509TrustManagers(null) // 配置自訂的CA認證信任管理器,非必傳。
.keyManagers(null) // 配置用戶端密鑰管理器,非必傳。
.ignoreSSL(false) // 是否跳過認證檢查,預設false,非必傳。
.hostnameVerifier(null) // 自訂HTTPS主機名稱驗證規則,需自主實現javax.net.ssl.HostnameVerifier,非必傳。
.build();
AsyncClient client = AsyncClient.builder()
.credentialsProvider(credentialProvider) // 此處省略credentialProvider實現過程。
.httpClient(httpClient)
.overrideConfiguration(
ClientOverrideConfiguration.create()
.setEndpointOverride("<ENDPOINT>") // 雲產品服務存取點。
.setProtocol("https")
)
.build();