2012-02-21 1 views
4

아마존 .NET SDK를 사용하고 있고 ASP.NET MVC 응용 프로그램의 파일을 추가하는 작업은 입니다. 내 dev 컴퓨터에서으로 잘 작동합니다. 응용 프로그램을 배포하는 중 (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(); 
} 

내가 EU 버킷 포함 할 수 없다는 것을 알고 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으로 다운 그레이드를 시도하고 설명하는 것과 유사한 오류가 발생했습니다 ("인증 절차에 따라 원격 인증서가 유효하지 않습니다").

.NET 용 AWS SDK (현재 1.4.3.0)의 최신 버전으로 업그레이드하는 것이 해결책 일 수 있습니다.

+0

감사합니다. 2 주 전 (버전 1.4.2.0) SDK를 다운로드했는데 최신 버전을 다시 다운로드하기 만하면됩니다. –