.NETアプリケーションを使用してデータのアップロードとダウンロードにAmazon S3バケットを使用しています。今私の質問は次のとおりです。SSLを使用してS3バケットにアクセスしたいです。 Amazon s3バケットにSSLを実装することはできますか?
次のように、SSL経由でファイルにアクセスできます。
https://s3.amazonaws.com/bucket_name/images/logo.gif
バケットにカスタムドメインを使用する場合、S3とCloudFrontを独自のSSL証明書と共に使用できます(またはAmazon Certificate Managerを介して無料の証明書を生成します): http://aws.Amazon.com/cloudfront/ custom-ssl-domains /
今日、カスタムドメインSSL証明書が1か月あたり600ドルで追加されました。以下の招待にサインアップします。 http://aws.Amazon.com/cloudfront/custom-ssl-domains/
Update:SNI顧客が提供する証明書 現在利用可能 追加料金なし1か月あたり600ドルよりもはるかに安く、XPがほぼ殺されているので、ほとんどのユースケースでうまく機能するはずです。
@skalee AWSには、ポスターが求めるものを達成するためのメカニズムがあり、「Amazon s3バケット用のSSLを実装する」CloudFront
と呼ばれます。私は「実装」を「SSL証明書を使用する」として読んでいます。「OPが推測したと思われるHTTP URLにSを付けるだけではありません。
CloudFrontのコストはS3($ 0.12/GB)とまったく同じですが、SSLに関する追加機能が豊富にあり、追加費用なしで独自のSNI証明書を追加できるため、ドメインで「SSLを実装する」ための明らかな修正です。
Cloud Flareサービスを使用すると、これを簡単に行えることがわかりました。
バケットを設定し、バケットでウェブホスティングを有効にして、Cloudflare経由で目的のCNAMEをそのエンドポイントに向けます...もちろんサービス料金を支払います...しかし、$ 5- $ 20 VS $ 600ははるかに簡単です。
詳細はこちら: https://www.engaging.io/easy-way-to-configure-ssl-for-Amazon-s3-bucket-via-cloudflare/
本当に必要な場合は、リダイレクトを検討してください。
たとえば、assets.my-domain.example.com/path/to/file
への要求に応じて、my-bucket-name.s3.amazonaws.com/path/to/file
またはs3.amazonaws.com/my-bucket-name/path/to/file
への301または302リダイレクトを実行できます(最初の場合、my-bucket-name
にはドットを含めることはできません。そうしないと、S3証明書に記載されている*.s3.amazonaws.com, s3.amazonaws.com
と一致しません)。
テストされていませんが、うまくいくと思います。ただし、注意点はほとんどありません。
最初のものは非常に明白で、このリダイレクトを取得するための追加リクエストです。また、ドメイン名レジストラが提供するリダイレクトサーバーを使用できるとは思いません(何らかの方法で適切な証明書をアップロードする必要があります)。そのためには、独自のサーバーを使用する必要があります。
2つ目は、ページのソースコードにドメイン名を含むURLを含めることができますが、たとえばユーザーが別のタブで写真を開くと、アドレスバーにターゲットURLが表示されます。
S3を直接使用することはできませんが、バケットからCloud Frontディストリビューションを作成できます。次に、証明書マネージャーに移動して証明書を要求します。 Amazonはそれらを無料で提供します。認定を正常に確認した人は、それをCloud Frontディストリビューションに割り当てます。また、httpをhttpsにリダイレクトするようにルールを設定することを忘れないでください。
Cloud Frontディストリビューションがあるため、SSL証明書を割り当てた個人ウェブサイトのように、Amazon S3でいくつかの静的ウェブサイトをホストしています。
前述のように、S3バケット用の無料の証明書を作成することはできません。ただし、Cloud Frontディストリビューションを作成してから、代わりにCloud Frontの証明書を割り当てることができます。ドメインの証明書を要求し、Cloud Front設定でCloud Frontディストリビューションに割り当てるだけです。この方法を使用して、静的ファイルを提供するだけでなく、SSL経由で静的Webサイトを提供しました。
静的なWebサイトの作成には、Amazonが最適です。 SSLを使用して静的なWebサイトを取得するのは本当に手頃です。