AmazonS3静的ウェブサイトのHTTPS [クローズ]


90

AmazonS3とCloudFrontを使用してHTTPSのみの静的ウェブサイトをホストしたいと思います。これが私がこれまでにしたことです:

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

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

さて、問題は次のとおりです。

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

1
無料でできますか?
— Piyush S. Wanare 2016年

AmazonからSSL証明書を無料で入手でき、自動的に更新されます。aws.amazon.com/certificate-managerドル記号アイコンまで下にスクロールします:)
— Costa

1
この質問はプログラミングを扱っていないため、トピック外として終了することに投票します
— Zach Saucier 2017

1
質問をServerFaultに移動してみませんか?
— nuエベレスト2018年

@nueverest移行するには古すぎるため。
— gre_gor

回答:


63

はい、今日の時点で無料で行うことができます。

Server Name Indication(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分散静的サイトに無料のクラス1StartSSL証明書を問題なくセットアップできました(SNIを使用してHTTPS経由でサービスを提供する場合のCloudFrontエラーを参照)。


7
詳細なガイド:bryce.fisher-fleig.org/blog/...
— elado

3
フィードバック:ブライスフィッシャーのガイドはとても良かった。
— tresf 2015年

6
ここには微妙な点があります。S3バケットがウェブサイトホスティング用に設定されていない場合は、HTTPSを使用できます。「Webサイトのエンドポイントはhttpsをサポートしていません」という注記を参照してください。
— skeller88 2015

6
OK、「微妙さ」を乗り越えて平易な英語で説明するために、これが私のショットです。静的なWebページコンテンツ(html)を含むS3バケットは、数回クリックするだけでWebサイトに変えることができます。このウェブサイトはhttpのみを使用できます。httpsが必要な場合は、AWSのCloudfrontサービスを使用し、SNIがhttpsを無料で取得できるように構成する必要があります。(いくつかの非常に古いまたは奇妙なブラウザはSNIをサポートしていません。)htmlおよびその他のリソースは低コストでS3に保存できます。さらに、AWSからドメイン名を取得する場合は、Elastic LoadBalanceサービスを使用する必要があります。料金はギグあたり数セントです。
— Mike_Laird 2016

5
@ skeller88が述べているように、s3 httpsはウェブサイトのホスティングでは機能しないのに、この回答が正しい回答を与えられたのは驚くべきことです。
— 2017年

36

2016-01-21に、AWSはAWS Certificate Managerをリリースしました。これは、Elastic LoadBalancerとCloudFront(S3も同様)で使用するSSL証明書を発行できる無料のサービスです。

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

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


1
今朝、自分のサイトにこれを設定しました。これは、s3でホストされている静的サイトです。それはだった超簡単。私は単にacmマネージャーに行き、証明書をリクエストし、メール設定を数時間置いて(確認メールを待っている間にWHOIS情報を公開することになりました)、クラウドフロントエンドポイントを指すようにroute53を設定しました。このコメントを見つけてとてもうれしいです。
— 妄想

1
@paranoidこれで、s3 Webサイトをhttpsのみとしてホストできますか?
— Piyush S. Wanare 2016年

1
@ PiyushS.Wanareはい、できます!
— barbolo 2016

Route53のCNAMEレコードにHTTPSリンクを配置します。
— コスタ

@paranoid「クラウドフロントエンドポイント」の意味がわかりません。その情報はどこから取得できますか?
— 2017年

17

今日の時点で、CloudfrontはカスタムSSLを提供しています:http://aws.amazon.com/cloudfront/pricing/

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


7
600 /月...
— Pacerier

11
専用IPアドレスが必要な場合にのみ600ドルを支払います。SNI(古いブラウザではサポートされていません)を使用しても問題がない場合は、追加料金は適用されません
— Martin OConnor 2014年

2
(SNIを介して)最新のブラウザーのみをサポートする場合は、これがはるかに安価になります:aws.amazon.com/about-aws/whats-new/2014/03/05/…–
— Andrew Newdigate

これは今無料です!aws.amazon.com/certificate-managerドル記号アイコンまで下にスクロールします。それに、自動的に更新されると思います。また、セットアップは、証明書に必要なドメインを入力し、次の電子メールの検証リンクをクリックするのと同じくらい簡単です。
— コスタ

3

私にとっては、単純なReactWebサイトをS3にアップロードする必要がありました。barboloが説明しているように、SSLを介してサイトにアクセスするには証明書が必要です。デプロイする静的サイトが十分に単純な場合は、次のことができます。

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

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

  1. バケットの内容のみを公開します。

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

Simpleサイトは、いくつかのcssページとjsページを指すメインのindex.htmlファイルがあるサイトです。


驚くばかり。ありがとう
— user18746 3418

アプリが本番環境を対象としている場合、これは悪い考えです。
— セバスチャン・

sébastienは、これが悪い考えである理由の詳細を私たちと共有してください。バケットではなくオブジェクトへのパブリック読み取りアクセスを許可します。
— alexopoulos7

これは優れた最も簡単な方法ですが、アプリケーション内のすべてのファイルについて、リクエストがインターネット上を移動するため、アプリケーションのパフォーマンスが低下することを忘れないでください。このシナリオでは、CloudFrontを使用するのが最善の方法です。
— NiteshB.19年

あなたはS3を更新する必要がある場合@ NiteshB.CloudFrontは、多くの場合、お尻の痛みオブジェクトである
— ダスティン日

0

@wikichenの答えに加えて。

差出人:https://aws.amazon.com/cloudfront/custom-ssl-domains/

デフォルトでは、URLでCloudFrontディストリビューションドメイン名を使用して、HTTPS経由でコンテンツを視聴者に配信できます(例:https://dxxxxx.cloudfront.net/image.jpg)。

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

弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.