全部产品
云市场
    使用OSS Java SDK时报“Connection to XXXX refused”错误

使用OSS Java SDK时报“Connection to XXXX refused”错误

更新时间:2019-10-21 10:45:30

问题描述

使用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

 

如果您的问题仍未解决,您可以在阿里云社区免费咨询,或提交工单联系阿里云技术支持。