ceph rgw java sdk 使用域名訪問服務時需要設置s3client的配置項 PathStyleAccess 為true, 負責將報域名異常



Caused by: java.net.UnknownHostException: my-new-bucket.s3.yyclouds.com at java.net.InetAddress.getAllByName0(Unknown Source) at java.net.InetAddress.getAllByName(Unknown Source) at java.net.InetAddress.getAllByName(Unknown Source) at com.amazonaws.SystemDefaultDnsResolver.resolve(SystemDefaultDnsResolver.java:27) at com.amazonaws.http.DelegatingDnsResolver.resolve(DelegatingDnsResolver.java:38) at org.apache.http.impl.conn.DefaultHttpClientConnectionOperator.connect(DefaultHttpClientConnectionOperator.java:111) at org.apache.http.impl.conn.PoolingHttpClientConnectionManager.connect(PoolingHttpClientConnectionManager.java:353) ... 63 more 2017-01-23 17:43:19,479 DEBUG [com.amazonaws.request] - <Retrying Request: HEAD http://my-new-bucket.s3.yyclouds.com / Headers: (User-Agent: aws-sdk-java/1.11.69 Windows_8.1/6.3 Java_HotSpot(TM)_Client_VM/25.11-b03/1.8.0_11, amz-sdk-invocation-id: 5f381d32-1c29-95ba-007a-856a127d3362, Content-Type: application/octet-stream, ) > 2017-01-23 17:43:19,479 DEBUG [com.amazonaws.http.AmazonHttpClient] - <Retriable error detected, will retry in 59ms, attempt number: 2> 2017-01-23 17:43:19,538 DEBUG [com.amazonaws.auth.AWS4Signer] - <AWS4 Canonical Request: '"HEAD

 

ceph rgw java sdk 使用域名訪問服務時,如上默認情況下 bucket名會作為子域名,因為這個子域名未注冊,所以無法訪問。

設置s3client的配置項 PathStyleAccess 為true 即可解決此問題

 

代碼 如下

s3client.setEndpoint("http://s3.yyclouds.com");
//使用域名時,需要如下設置
s3client.setS3ClientOptions(S3ClientOptions.builder().setPathStyleAccess(true).build());

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM