S3服务的java amazon SDK中的连接被拒绝
我正在编写一个命令行工具来管理S3服务。在我的本地计算机上,一切正常,但在应该执行它的服务器上,出现故障,并显示以下消息: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,因为我怀疑连接
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)(它将捕获
运行时异常
),会发生什么?很抱歉,我同意这里的标准建议,但我对您的尝试还没有很好的界限。问题是,这种情况只发生在服务器上,在本地,代码可以完美地工作。是否仍然可以从命令行运行调试器?(我正在运行应用程序wtihjava-jar app.jar
)@shadow\u of_uusoul是的!您将需要寻找该功能。如果在jdb
中进行本地或远程调试是不够的,我相信我们可以找到其他适合您需要的方法: