📝

[小ネタ] ALB の固定レスポンスで JavaScript を実行してみた

2025/03/07に公開

Application Load Balancer のリスナー - エラスティックロードバランシング

クライアントリクエストを破棄し、カスタムの HTTP レスポンスを返すには、fixed-response アクションを使用します。

今回はコンテンツタイプ text/html で JavaScript を実行してみました。

やってみた

デフォルト設定で ALB を作成済みです。

デフォルトの HTTP:80 のリスナーを編集します。

以下の設定に変更して保存します。

  • デフォルトアクション: 固定レスポンスを返す
  • レスポンスコード: 200
  • コンテンツタイプ: text/html
  • レスポンス本文: 以下の html を入力
<!DOCTYPE html>
<html>
  <head>
    <title>test</title>
  </head>
  <body>
    test
    <br />
    <script>
      console.log("test");
      document.write(new Date());
    </script>
  </body>
</html>

ブラウザから ALB のデフォルトの DNS 名でアクセスします。

html 内の JavaScript が実行されていることを確認できました。

ユースケースとしては固定レスポンスで少しだけ動的なことを実装したい場合が考えられます。
ただし、本文は 1,024 文字までという制限があるので簡単な処理の実装のみになると思われます。
FixedResponseActionConfig - Elastic Load Balancing

MessageBody
The message.
Type: String
Length Constraints: Minimum length of 0. Maximum length of 1024.

まとめ

今回は ALB の固定レスポンスで JavaScript を実行してみました。
どなたかの参考になれば幸いです。

参考資料

Discussion