Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/linux/25.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
S3服务的java amazon SDK中的连接被拒绝_Java_Linux_Amazon S3_Amazon Web Services - Fatal编程技术网

S3服务的java amazon SDK中的连接被拒绝

S3服务的java amazon SDK中的连接被拒绝,java,linux,amazon-s3,amazon-web-services,Java,Linux,Amazon S3,Amazon Web Services,我正在编写一个命令行工具来管理S3服务。在我的本地计算机上,一切正常,但在应该执行它的服务器上,出现故障,并显示以下消息: Error Message: Unable to execute HTTP request: Connection to http://s3.amazonaws.com refused 我使用以下代码进行连接: s3 = new AmazonS3Client(credentials,clientConf); clientConf只将协议设置为HTTP,因为我怀疑连接

我正在编写一个命令行工具来管理S3服务。在我的本地计算机上,一切正常,但在应该执行它的服务器上,出现故障,并显示以下消息:

Error Message: Unable to execute HTTP request: Connection to http://s3.amazonaws.com refused
我使用以下代码进行连接:

 s3  = new AmazonS3Client(credentials,clientConf);
clientConf只将协议设置为HTTP,因为我怀疑连接到HTTPS可能会有问题,但我得到了相同的结果

现在,服务器具有以下配置:

    auto eth0
iface eth0 inet static

address XX.XX.XX.XX
netmask 255.255.255.255
broadcast XX.XX.XX.XX (same as address)

auto eth0:0
iface eth0:0 inet static

address XX.XX.XX.XX
netmask 255.255.255.255
broadcast XX.XX.XX.XX (same as address)

auto eth0:1
iface eth0:1 inet static

address XX.XX.XX.XX
netmask 255.255.255.255
broadcast XX.XX.XX.XX (same as address)

post-up route add 10.255.255.1 dev eth0
post-up route add default gw 10.255.255.1
debian 6 64位

从光源安装的灯

从源代码安装openssl

从分发包安装java

这是网络配置:

    auto eth0
iface eth0 inet static

address XX.XX.XX.XX
netmask 255.255.255.255
broadcast XX.XX.XX.XX (same as address)

auto eth0:0
iface eth0:0 inet static

address XX.XX.XX.XX
netmask 255.255.255.255
broadcast XX.XX.XX.XX (same as address)

auto eth0:1
iface eth0:1 inet static

address XX.XX.XX.XX
netmask 255.255.255.255
broadcast XX.XX.XX.XX (same as address)

post-up route add 10.255.255.1 dev eth0
post-up route add default gw 10.255.255.1
wget、telnet、curl,一切都正常,除了这个,我有3个网络接口,因为我有2个SSL和其他站点的另一个ip

我应该如何配置clientConf来实现这一点?是java问题吗?网络问题?至少,我怎样才能获得更多的调试信息?我试图捕获
AmazonClientException
异常,但没有成功

提前感谢:)

问候。

。引述:

这似乎是SDK中的一个bug。问题是客户 配置对象与安全令牌服务客户端共享 DynamoDB用来建立会话,它(与Dynamo不同) 不接受HTTP协议。有两种变通方法:

1) 创建您自己的STSSessionCredentialsProvider实例,并 将其提供给DynamoDB客户,或

2) 而不是在ClientConfiguration中指定协议, 通过调用setEndpoint(“http://...))

我们将讨论此错误的解决方案

我建议现在使用一种变通方法。祝你的连接成功


()

我试过这个,但似乎S3不起作用,我仍然有同样的问题。@shadow_of_usoul Hmn。那真是进退两难!正如您所说,您希望获得更多的调试信息,以用于跟踪问题。您是否能够在调试器中运行客户端(例如,在IntelliJ或Eclipse提供的调试工具中),并在异常触发之前直接设置断点?因此,当您尝试连接时,如果只捕获(异常e)(它将捕获
运行时异常
),会发生什么?很抱歉,我同意这里的标准建议,但我对您的尝试还没有很好的界限。问题是,这种情况只发生在服务器上,在本地,代码可以完美地工作。是否仍然可以从命令行运行调试器?(我正在运行应用程序wtih
java-jar app.jar
)@shadow\u of_uusoul是的!您将需要寻找该功能。如果在
jdb
中进行本地或远程调试是不够的,我相信我们可以找到其他适合您需要的方法: