エラスティックBeanstalkを使用してロードバランサーとWebサーバー間のトラフィックを暗号化する方法

ザグス

ElasticBeanstalk環境でロードバランサーとWebサーバー間のトラフィックを暗号化したい。Amazonのガイドはhttps://docs.aws.amazon.com/elasticbeanstalk/latest/dg/configuring-https-endtoend.htmlですが、サーバーの証明書を手動で生成する必要があります。全自動の代替手段はありますか?

ザグス

サーバーにデプロイメントコンテナコマンドの一部として独自の自己署名証明書を生成させる場合、各サーバーは、デプロイするたびに、および新しいサーバーが起動するときに、更新された証明書を取得します。

これについて私が見つけた最良のコマンドは次のとおりです。これは10年間有効な証明書を作成します。

sudo openssl req -x509 -newkey rsa:4096 -keyout /etc/pki/tls/certs/server.key -out /etc/pki/tls/certs/server.crt -days 3650 -nodes -subj "/CN=example.com"

このアプローチを使用すると、少なくとも10年に1回デプロイする(EBコンテナーバージョンのアップグレードを含む)限り、サーバーは稼働し続けます。

これにより、この設定も大幅に簡素化されます。今あなたがする必要があるのは次のとおりです:

  1. 自己署名証明書を生成し、HTTPS設定をWebサーバーに追加する設定ファイルをElasticBeanstalkプロジェクトに追加します。
  2. Webサーバーセキュリティグループに、ロードバランサーセキュリティグループからのポート443接続を受け入れさせます。
  3. ポート443からポート443にトラフィックを転送するようにロードバランサーを設定します。

以下は、Python用の完全なHTTPSエラスティックbeanstalk設定ファイルの例です。これは、AWSが推奨するPython用の設定ファイルを少し変更したものです私は、コンテナコマンドの先頭に生成し、証明書のコマンドを追加および削除の2つのファイルのステートメントをためてきた/etc/pki/tls/certs/server.crtし、/etc/pki/tls/certs/server.key彼らは今あるとして自動生成されました。他の言語のAWSの例はここにあります

Python構成ファイル:

packages:
  yum:
    mod24_ssl : []
    
files:
  /etc/httpd/conf.d/ssl.conf:
    mode: "000644"
    owner: root
    group: root
    content: |
      LoadModule wsgi_module modules/mod_wsgi.so
      WSGIPythonHome /opt/python/run/baselinenv
      WSGISocketPrefix run/wsgi
      WSGIRestrictEmbedded On
      Listen 443
      <VirtualHost *:443>
        SSLEngine on
        SSLCertificateFile "/etc/pki/tls/certs/server.crt"
        SSLCertificateKeyFile "/etc/pki/tls/certs/server.key"
        
        Alias /static/ /opt/python/current/app/static/
        <Directory /opt/python/current/app/static>
        Order allow,deny
        Allow from all
        </Directory>
        
        WSGIScriptAlias / /opt/python/current/app/application.py
        
        <Directory /opt/python/current/app>
        Require all granted
        </Directory>
        
        WSGIDaemonProcess wsgi-ssl processes=1 threads=15 display-name=%{GROUP} \
          python-path=/opt/python/current/app \
          python-home=/opt/python/run/venv \
          home=/opt/python/current/app \
          user=wsgi \
          group=wsgi
        WSGIProcessGroup wsgi-ssl
        
      </VirtualHost>
      
container_commands:
  01_create_certs:
    command: |
      sudo openssl req -x509 -newkey rsa:4096 -keyout /etc/pki/tls/certs/server.key -out /etc/pki/tls/certs/server.crt -days 3650 -nodes -subj "/CN=example.com"
  02_kill_httpd:
    command: "sudo restart supervisord"
  03_wait_for_httpd_death:
    command: "sleep 3"

この記事はインターネットから収集されたものであり、転載の際にはソースを示してください。

侵害の場合は、連絡してください[email protected]

編集
0

コメントを追加

0

関連記事

分類Dev

Spring Bootを使用して、伝記バックエンドのエンティティークラスとコントローラーを作成する方法

分類Dev

Google Cloud Engine:HTTPSロードバランサーを使用するときにポート80でトラフィックをルーティングする方法

分類Dev

Flaskを使用してディレクトリにファイルをアップロードするときの内部サーバーエラーコード500

分類Dev

アイテムの大規模なリストを使用してサーバーの応答を調査するためのフロントエンド/バックエンドのグッドプラクティスは何ですか?

分類Dev

複数のマイクロサービスを使用してトラフィックを1つのターゲットグループにルーティングするAWSロードバランサー

分類Dev

パブリックエラスティックbeanstalkロードバランサーとプライベートに通信します

分類Dev

Androidクライアントがスレッドを使用してサーバーと通信するためのベストプラクティス

分類Dev

長いサーバーサイドスクリプトを使用してWebページをロードするためのベストプラクティス

分類Dev

エラスティックIPをAWSロードバウンサーに割り当てる方法は?

分類Dev

レトロフィット サーバー コールバックがエラーをスローする

分類Dev

NServiceBus 受け入れテストを使用してサガ ハンドラーからフィードバックを取得する方法

分類Dev

Linux フレーバーの OS システムは、ファイルを検索するためのウィンドウ エクスプローラーのクイック ナビゲーション機能をサポートしていますか?

分類Dev

TLSサーバーがトラフィックを暗号化していることをどのように確認できますか?

分類Dev

サーバー上の .erb ではなく、ローカル ドライブ上の .html ファイルを使用してリクエストを送信すると、ルーティング エラーが発生します。

分類Dev

AWS-ネットワークACLを使用してSaaSサービスへのアウトバウンドトラフィックを制限する

分類Dev

管理 URL トラフィックを特定のロード バランサーにリダイレクトする

分類Dev

Googleロードバランサーがトラフィックをバックエンドに渡さない

分類Dev

宛先に基づいて異なるプロキシサーバーを介してトラフィックをルーティングする方法

分類Dev

ブロックされることなくセレンWebドライバーを使用してWebサイトをスクレイピングする方法

分類Dev

バックグラウンドログインして、サードパーティのWebサイトから情報を取得します

分類Dev

サードパーティのCAS認証を使用して、スタンドアロンのReactフロントエンドからdjangoバックエンド(同じドメイン、異なるポート)でユーザーを認証する方法は?

分類Dev

バックエンドバケットとCloudflareを使用してGoogleロードバランサーから元のIPを取得する

分類Dev

Istioを使用してロードバランサートラフィックを制御/インターセプトする

分類Dev

jQueryを使用してヘッダーとフッターの間をスクロールするときに(スクロールせずに)サイドバーをスティッキーにする方法は?

分類Dev

ApachePOIを使用してExcelサンバーストチャートのポイントのグラフィック属性を変更する方法

分類Dev

kubernetesサービスを使用してGoogleネットワークロードバランサーからクライアントIPを取得する方法

分類Dev

AWSラムダからAWSエラスティックBeanstalkサーバーにhttpsを送信します

分類Dev

グーグルAPIクライアントとグーグルサーバー間のhttpトラフィックを追跡する方法は?

分類Dev

Googlehttpロードバランサーからのスタックドライバーログをホスト名でフィルタリングする

Related 関連記事

  1. 1

    Spring Bootを使用して、伝記バックエンドのエンティティークラスとコントローラーを作成する方法

  2. 2

    Google Cloud Engine:HTTPSロードバランサーを使用するときにポート80でトラフィックをルーティングする方法

  3. 3

    Flaskを使用してディレクトリにファイルをアップロードするときの内部サーバーエラーコード500

  4. 4

    アイテムの大規模なリストを使用してサーバーの応答を調査するためのフロントエンド/バックエンドのグッドプラクティスは何ですか?

  5. 5

    複数のマイクロサービスを使用してトラフィックを1つのターゲットグループにルーティングするAWSロードバランサー

  6. 6

    パブリックエラスティックbeanstalkロードバランサーとプライベートに通信します

  7. 7

    Androidクライアントがスレッドを使用してサーバーと通信するためのベストプラクティス

  8. 8

    長いサーバーサイドスクリプトを使用してWebページをロードするためのベストプラクティス

  9. 9

    エラスティックIPをAWSロードバウンサーに割り当てる方法は?

  10. 10

    レトロフィット サーバー コールバックがエラーをスローする

  11. 11

    NServiceBus 受け入れテストを使用してサガ ハンドラーからフィードバックを取得する方法

  12. 12

    Linux フレーバーの OS システムは、ファイルを検索するためのウィンドウ エクスプローラーのクイック ナビゲーション機能をサポートしていますか?

  13. 13

    TLSサーバーがトラフィックを暗号化していることをどのように確認できますか?

  14. 14

    サーバー上の .erb ではなく、ローカル ドライブ上の .html ファイルを使用してリクエストを送信すると、ルーティング エラーが発生します。

  15. 15

    AWS-ネットワークACLを使用してSaaSサービスへのアウトバウンドトラフィックを制限する

  16. 16

    管理 URL トラフィックを特定のロード バランサーにリダイレクトする

  17. 17

    Googleロードバランサーがトラフィックをバックエンドに渡さない

  18. 18

    宛先に基づいて異なるプロキシサーバーを介してトラフィックをルーティングする方法

  19. 19

    ブロックされることなくセレンWebドライバーを使用してWebサイトをスクレイピングする方法

  20. 20

    バックグラウンドログインして、サードパーティのWebサイトから情報を取得します

  21. 21

    サードパーティのCAS認証を使用して、スタンドアロンのReactフロントエンドからdjangoバックエンド(同じドメイン、異なるポート)でユーザーを認証する方法は?

  22. 22

    バックエンドバケットとCloudflareを使用してGoogleロードバランサーから元のIPを取得する

  23. 23

    Istioを使用してロードバランサートラフィックを制御/インターセプトする

  24. 24

    jQueryを使用してヘッダーとフッターの間をスクロールするときに(スクロールせずに)サイドバーをスティッキーにする方法は?

  25. 25

    ApachePOIを使用してExcelサンバーストチャートのポイントのグラフィック属性を変更する方法

  26. 26

    kubernetesサービスを使用してGoogleネットワークロードバランサーからクライアントIPを取得する方法

  27. 27

    AWSラムダからAWSエラスティックBeanstalkサーバーにhttpsを送信します

  28. 28

    グーグルAPIクライアントとグーグルサーバー間のhttpトラフィックを追跡する方法は?

  29. 29

    Googlehttpロードバランサーからのスタックドライバーログをホスト名でフィルタリングする

ホットタグ

アーカイブ