2012-02-21 21 views
4

我正在使用亞馬遜.NET SDK,並且從我的ASP.NET MVC應用程序添加文件是正常工作從我的開發機器,當我(部署應用程序AppHarbor)我收到以下錯誤:亞馬遜S3錯誤 - 無法建立SSL/TLS安全通道的信任關係

無法建立SSL/TLS安全通道的信任關係。

下面是代碼我真的使用:

var config = new Amazon.S3.AmazonS3Config(); 
config.CommunicationProtocol = Amazon.S3.Model.Protocol.HTTPS; 

using (var client = Amazon.AWSClientFactory.CreateAmazonS3Client("key", "secret", config)) 
{ 
    var putRequest = new Amazon.S3.Model.PutObjectRequest(); 
    putRequest.BucketName = "media.bunkerapp.com"; 
    putRequest.CannedACL = Amazon.S3.Model.S3CannedACL.PublicRead; 
    putRequest.ContentType = file.ContentType; 
    putRequest.InputStream = file.InputStream; 
    putRequest.Key = "mykey"; 

    Amazon.S3.Model.S3Response response = client.PutObject(putRequest); 
    response.Dispose(); 
} 

我知道,歐盟桶不能包含,as seen on this question但我使用的是美國標準鬥。再次,這裏的問題是它不適用於AppHarbor。我試圖回滾到1實例的應用程序,但它拋出相同的錯誤,這是堆棧跟蹤:

at Amazon.S3.AmazonS3Client.ProcessRequestError(String actionName, HttpWebRequest request, WebException we, HttpWebResponse errorResponse, String requestAddr, WebHeaderCollection& respHdrs, Type t) 
    at Amazon.S3.AmazonS3Client.Invoke[T](S3Request userRequest) 
    at Amazon.S3.AmazonS3Client.PutObject(PutObjectRequest request) 
    at MyController... 

任何指針將不勝感激。

回答

3

我無法在本地或在AppHarbor上重現此問題。我使用類似的代碼,存儲桶名稱(美國)和最新的AWS SDK。

我試圖降級到版本1.3.4.1,並得到一個類似於您所描述的錯誤(「遠程證書根據驗證過程無效」)的錯誤。

升級到最新版本的AWS SDK for .NET(當前爲1.4.3.0)可能是解決方案。

+0

謝謝,我在2周前下載了SDK(版本1.4.2.0),只是重新下載了最新版本,並且工作正常。 – 2012-02-22 09:31:40

相關問題