问题描述
使用OSS Java SDK时,报类似如下错误信息。
Connection to http://buname.oss-cn-hangzhou-internal.aliyuncs.com refused
[RequestId]: Unknown
at com.aliyun.oss.common.utils.ExceptionFactory.createNetworkException(ExceptionFactory.java:31)
at com.aliyun.oss.common.comm.DefaultServiceClient.sendRequestCore(DefaultServiceClient.java:57)
at com.aliyun.oss.common.comm.ServiceClient.sendRequestImpl(ServiceClient.java:191)
at com.aliyun.oss.common.comm.ServiceClient.sendRequest(ServiceClient.java:151)
at com.aliyun.oss.internal.OSSOperation.send(OSSOperation.java:71)
at com.aliyun.oss.internal.OSSObjectOperation.putObject(OSSObjectOperation.java:92)
at com.aliyun.oss.OSSClient.putObject(OSSClient.java:394)
at osscs1.OSSPutObjectSample.uploadFile(OSSPutObjectSample.java:82)
at osscs1.OSSPutObjectSample.main(OSSPutObjectSample.java:46)
问题原因
-
客户端和OSS不在同一地域的内网中,所以不能用内网的Endpoint,需要用公网的Endpoint。
-
客户端跟OSS虽然在同一个地域,但是客户端可能有一些特殊限制,比如端口没开放等。
解决方案
建议在客户端上使用ping命令测试公网的Endpoint地址,以及使用telnet命令测试80/443端口是否正常。如果测试正常,可对OSS Java SDK进行如下配置。
private static final String OSS_ENDPOINT = "http://oss-cn-hangzhou.aliyuncs.com/";
OSSClient client = new OSSClient(OSS_ENDPOINT,ACCESS_ID, ACCESS_KEY);
说明
本文以杭州地域为例,使用http://oss-cn-hangzhou.aliyuncs.com/
地址。其他地域,请根据具体情况修改地址。更多信息,请参见访问域名和数据中心。
适用于
-
对象存储 OSS
内容没看懂? 不太想学习?想快速解决? 有偿解决: 联系专家
阿里云企业补贴进行中: 马上申请
腾讯云限时活动1折起,即将结束: 马上收藏
同尘科技为腾讯云授权服务中心。
购买腾讯云产品享受折上折,更有现金返利:同意关联,立享优惠
转转请注明出处:https://www.yunxiaoer.com/159650.html