Amazon .NET SDKを使用していますが、ASP.NET MVCアプリからのファイルの追加は、開発マシンから正常に機能しています。アプリを(AppHarborに)デプロイすると、次のエラーが発生します。
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バケットには。を含めることができないことは知っていますが、米国標準バケットを使用しています。繰り返しになりますが、ここでの問題は、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...
任意のポインタをいただければ幸いです。