2017-07-30 25 views
1

現在、Dockerを使用したnginxリバースプロキシアーキテクチャを使用してAWS ECSで自分のWebサイトを設定しています。しかし、今は私のウェブサイトをHTTPSで保護するという問題に直面しています。Amazon WebサービスECS(SSL/HTTPS)問題

私は数時間googledして、私のAmazon証明書マネージャーを発行しました、私のクラスターのサービスでアプリケーション負荷バランサーを設定しても役に立たない。 私のnginx.confはポート80でリッスンしていますが、私の内部サービスはポート80でもホストされています。 Cloudflareは私のウェブサイトを* .domain.comの各サービスにルーティングします。

  • 私が紛失している可能性のある手順はありますか、そこから参考になるガイドがありますか? Amazonの証明書マネージャーを使って、自動更新で一番うまくいってほしいと思っています。 2番目のオプションは、letsencryptによって手動で署名された証明書です。しかし、私のリポジトリは今公開されているので、証明書をどのように保存できるか分かりません。

  • 私は現在2つのURLを持っています。 domain.com & api.domain.com。両方が同じECSインスタンス上で実行されています。フロントエンド(HTTPSリクエストポリシー)からバックエンドコールを行うことができるように、両方のセキュリティを確保することは可能ですか?

ありがとうございました!

更新:

私は最終的に自分のドメインで動作するようにSSLを取得しました。同じ問題に遭遇している人のために。従来のロード・バランサを使用してみてください.Application Load Balancerで複数回試してみましたが、別のポートにマッピングしても動作しません。しかし、これはClassical Load Balancerを使用した瞬間に機能します。

答えて

1
  1. Cloudflareは、ECSに直接送信するのではなく、すべてをALBにルーティングする必要があります。 ALBがSSL証明書を提供するためには、すべてのトラフィックをALB経由でルーティングする必要があります。

  2. ACMで証明書を要求すると、証明書を有効にする複数のドメインを一覧表示できます。ドメインとサブドメインごとに証明書を作成する最も簡単な方法は、「domain.com」と「* .domain.com」の証明書を要求することです。

+0

回答ありがとうございましたが、CloudflareのためにALBにルーティングするためのIPは表示されません。また、ALBあたり1つの証明書しか設定できないため、2つのALBを設定する必要があります。 –

+0

AWSロードバランサでIPルーティングを使用することはできません。あなたはDNS名を指さなければなりません。 Route53にはこれを行うためのエイリアスメカニズムが用意されていますが、Cloudflareを使用しているので、CNAMEのフラット化を使用する必要があります。https://blog.cloudflare.com/introducing-cname-flattening-rfc-compliant-cnames-at-a-domains -root/ –

+0

SSL証明書に関して、私の答えで説明しようとすると、複数のドメインに適した単一の証明書をACMから要求します。次に、その単一の証明書をALBに添付すると、要求したすべてのドメインのSSL接続を終了できます。 –

関連する問題