2015-01-21 45 views
0

我們在AWS ec2客戶端上使用混沌猴進行韌性測試。當混亂的猴子試圖用給定的密鑰爲法蘭克福地區進行認證時,我們正在獲取HTTP/1.1 401 Unauthorized錯誤。我們正在使用適用於Java的AWS開發工具包。Choas Monkey:AWS EC2:HTTP/1.1 401連接到eu-central-1(法蘭克福)時出現未授權錯誤

它使用簽名版本v2和eu-central-1(frankfurt)要求v4。 我們如何將簽名版本設置爲v4或者我們必須對AWS SDK進行什麼設置?

以下是錯誤的快照: -

2015-01-19 05:37:05.028 - DEBUG SLF4JLogger - [SLF4JLogger.java:61] Sending request -1804412292: POST https://ec2.eu-central-1.amazonaws.com/ HTTP/1.1 

2015-01-19 05:37:05.029 - DEBUG SLF4JLogger - [SLF4JLogger.java:61] >> "Action=DescribeInstances&Signature=Ao5fLfM%2B/rOcbdll0LF0K2F9U8NBlgd%2BAwuFk83GOxo%3D&SignatureMethod=HmacSHA256&SignatureVersion=2&Timestamp=2015-01-19T10%3A37%3A05.024Z&Version=2010-06-15&AWSAccessKeyId=xxx" 

2015-01-19 05:37:05.029 - DEBUG SLF4JLogger - [SLF4JLogger.java:61] >> POST https://ec2.eu-central-1.amazonaws.com/ HTTP/1.1 

2015-01-19 05:37:05.029 - DEBUG SLF4JLogger - [SLF4JLogger.java:61] >> Host: ec2.eu-central-1.amazonaws.com 

2015-01-19 05:37:05.030 - DEBUG SLF4JLogger - [SLF4JLogger.java:61] >> Content-Type: application/x-www-form-urlencoded 

2015-01-19 05:37:05.030 - DEBUG SLF4JLogger - [SLF4JLogger.java:61] >> Content-Length: 225 

2015-01-19 05:37:05.609 - DEBUG SLF4JLogger - [SLF4JLogger.java:61] Receiving response -1804412292: HTTP/1.1 401 Unauthorized 
2015-01-19 05:37:05.610 - DEBUG SLF4JLogger - [SLF4JLogger.java:61] << HTTP/1.1 401 Unauthorized 

回答

0

設置V4簽名is explained here。 Java的相關位:

在您的代碼中添加以下內容。

System.setProperty(SDKGlobalConfiguration.ENABLE_S3_SIGV4_SYSTEM_PROPERTY, "true"); 

或者,在命令行中指定以下內容。

-Dcom.amazonaws.services.s3.enableV4 
+0

我正在使用aws ec2而不是s3。所以上述解決方案不適合我。我也嘗試過。 – 2015-01-23 04:13:35