AWS
htaccess
ALB

ALB + htaccessでのBasic認証でヘルスチェックだけ認証しない


やりたいこと


  • テスト用にEC2を用意して、Basic認証をかけて開発中アプリケーションを公開しておきたい

  • Basic認証はhtaccessで管理


困ったこと


  • htaccessの設定で、ALBからのヘルスチェックにもbasic認証をかけてしまったために、ヘルスチェックが通らない

  • その影響で、CodeDeployのAllowTrafficフェーズで失敗する


解決策


  • ヘルスチェックのアクセスはBasic認証しないようにする

<Files ~ "^\.(htaccess|htpasswd)$">

Deny from all
</Files>

Satisfy Any
AuthType Basic
AuthUserFile /path/to/.htpasswd
AuthName "Please ENter your ID and password"
Require valid-user
setEnvIf User-Agent "^ELB-HealthChecker.*$" noAuth
order Deny,Allow
Deny from all
Allow from env=noAuth

あんまり使うことないかもしれないですが、ちょっとハマってしまったので、記録しておきます。