ハマログ

株式会社イーツー・インフォの社員ブログ

ALBヘルスチェックのBASIC認証除外

Application Load Balancerのターゲットグループで、ヘルスチェック設定を行う際に、通常はヘルスチェック用にパスを準備し、想定したレスポンスコード(200など)が返るような設定を行うかと思います

今回は事情によりヘルスチェック用のパスを準備できなかったため、ドキュメントルート直下にヘルスチェック用パスを設定したのですが、そのままですとBASIC認証がかかっているため、ヘルスチェックがhealthyになりません

そこでhttpd.cofでBASIC認証の除外対象として、ALBからのヘルスチェック用のアクセスを許可する設定を行いました
User Agentを参照し、

ELB-HealthChecker/2.0

となっているものをBASIC認証から除外しています

<VirtualHost *:80>
    <Location />
        SetEnvIf User-Agent "ELB-HealthChecker/2.0" valid-ua
        <RequireAny>      
            Require valid-user
            Require env valid-ua
        </RequireAny>
    </Location>
</VirtualHost>

無事ヘルスチェックがHealthyになりました

参考までに他の除外設定も含めたものを記載しておきます

<VirtualHost *:80>
    <Location />
        # Basic認証設定
        AuthType Basic
        AuthName "Password Required"
        AuthUserFile /path/to/.htpasswd

        # IPアドレスで除外
        SetEnvIf REMOTE_ADDR 192.168.0.1 valid-ip

        # URIで除外
        SetEnvIf Request_URI "^/index.php" valid-url

        # Hostヘッダーで除外
        SetEnvIf Host "specific.example.com" valid-host

        # User Agentで除外
        SetEnvIf User-Agent "ELB-HealthChecker/2.0" valid-ua

        # 以下の条件に一致する場合はBasic認証を除外
        <RequireAny>
            Require valid-user
            Require env valid-ip
            Require env valid-url
            Require env valid-host
            Require env valid-ua
        </RequireAny>
    </Location>
</VirtualHost>
ALBApacheApplication Load BalancerAWSBasic認証target group

  yama   2025年3月21日


関連記事

中国市場のマーケティングは微信(WeChat)(WeiXin)がないと成り立たない!

中国Tencent(騰訊)が独自で作ったWeChatというメッセージアプリで、2…

Laravelのページネーションでrel=”next”とrel=”prev”を実装する

ページネーションの実装時に、GoogleのGoogle ウェブマスターブログ 複…

CloudFrontでオリジンがS3のときに、ルートURLでファイルリストが表示される

AWSでS3をオリジンにしてCloudFrontで静的サイトとして公開したときに…


← 前の投稿

次の投稿 →