web-dev-qa-db-ja.com

Amazon S3静的ウェブサイトのHTTPS

Amazon S3とCloudFrontを使用してHTTPSのみの静的ウェブサイトをホストしたい。これまでにやったことは次のとおりです。

  1. 静的ウェブサイトホスティング用のS3バケットを設定し、ウェブサイトファイルをその中に配置します
  2. CloudFrontディストリビューションを作成し、それをS3バケットに向けました
  3. CloudFrontバケットを指すwwwサブドメインのドメインのネームサーバーにCNAMEレコードを追加しました。

これまでのところ、非常に良い-私はwww.example.comアドレスを使用して私のウェブサイトにアクセスできます。ただし、GoDaddyからSSL証明書を購入したHTTPS経由でのみサイトを利用できるようにしたいと考えています。

質問は次のとおりです。

  1. S3でホストされているWebサイトにこのサードパーティのSSL証明書をインストールする方法はありますか?
  2. このセットアップでhttpからhttpsへの自動リダイレクトを行う方法はありますか?
83
jamix

はい、今日の時点で無料でできます。

サーバー名表示(SNI)を使用したカスタムSSL証明書をサポートするようになったため、CloudFrontのCNAMEでHTTPSを使用できるようになりました。 http://aws.typepad.com/aws/2014/03/server-name-indication- sni-and-http-redirection-for-Amazon-cloudfront.html

S3のCloudFront分散静的サイト用に無料のクラス1 StartSSL証明書をあまり問題なくセットアップできました( SNIを使用してHTTPS経由でサービスを提供する場合のCloudFrontエラー )。

61
wikichen

2016-01-21にAWSはAWS Certificate Managerを起動しました。これはfreeSSL証明書を発行して、Elastic Load BalancerおよびCloud Front(S3も使用)で使用できるサービス。

詳細については、 https://aws.Amazon.com/certificate-manager/ をご覧ください。

そして、AWSから無料のSSLを使用してS3 + Cloudfrontウェブサイトをデプロイする方法を確認できます: https://aws.Amazon.com/blogs/aws/new-aws-certificate-manager-deploy-ssltls-based -apps-on-aws /

35
barbolo

現在、CloudfrontはカスタムSSLを提供しています: http://aws.Amazon.com/cloudfront/pricing/

彼らは月額600ドルを請求していることに留意してください。上記のリンクの詳細。

17

私にとっては、シンプルなReactウェブサイトをS3にアップロードする必要がありました。 barboloが説明しているように、SSL経由でサイトにアクセスするには証明書が必要です。展開する静的サイトが十分に単純な場合、次のことができます。

  1. S3にアップロードします。
  2. not「静的ウェブサイトホスティング」を選択してください
  3. すべての相対リンクを(css、jsなどに)絶対リンクに変換します。

例えば/css/media.cssから https://s3-region-amazonaws.com/bucket-name/css/media.css に変換する必要があります(私にとっては、リンクのみを変更する必要がありましたindex.html)

  1. バケットのコンテンツのみを公開します。

それでおしまい。 httpsからインデックスファイルにアクセスできます。

シンプルなサイトとは、いくつかのcssおよびjsページを指すメインのindex.htmlファイルを持つサイトです。

3
alexopoulos7

@wikichenの答えに加えて。

From: https://aws.Amazon.com/cloudfront/custom-ssl-domains/

デフォルトでは、たとえば https://dxxxxx.cloudfront.net/image.jpg のように、URLでCloudFront配信ドメイン名を使用して、HTTPS経由でコンテンツを視聴者に配信できます。

独自のドメイン名と独自のSSL証明書を使用してHTTPS経由でコンテンツを配信する場合は、カスタムSSL証明書サポート機能のいずれかを使用できます。

0
Jason