1. ホーム
  2. redirect

[解決済み] EC2 Elastic Load Balancer を HTTP から HTTPS にリダイレクトする。

2022-08-22 18:11:54

質問

HTTPリクエストを全てhttpsにリダイレクトしたい。 ELB . EC2インスタンスを2台持っています。サーバーには nginx を使用しています。nginxのconfファイルを書き換えてみたのですが、うまくいきません。何かアドバイスが欲しいです。

どうすれば解決しますか?

AWS Application Load Balancersは、HTTPからHTTPSへのリダイレクトをネイティブでサポートするようになりました。

コンソールでこれを有効にするには、以下を実行します。

  1. EC2のロードバランサーに移動し、[Listeners]タブをクリックします。
  2. HTTPリスナーでquot;View/edit rules"を選択します。
  3. デフォルトのもの(下)以外のすべてのルールを削除します。
  4. デフォルト ルールの編集: アクションとして "Redirect to" を選択し、すべてをデフォルトのままにして、ポートとして "443" を入力します。

CLI を使用しても同じことが可能です。 ここで .

Cloudformationでも可能で、このようにListenerオブジェクトをセットアップする必要があります。

  HttpListener:
    Type: AWS::ElasticLoadBalancingV2::Listener
    Properties:
      LoadBalancerArn: !Ref LoadBalancer
      Port: 80
      Protocol: HTTP
      DefaultActions:
      - Type: redirect 
        RedirectConfig:
          Protocol: HTTPS
          StatusCode: HTTP_301
          Port: 443

もしまだClassic Load Balancersを使っているなら、他の人が説明したNGINXの設定のうちの1つを使ってください。