読者です 読者をやめる 読者になる 読者になる

Work Records

日々の作業記録です。iPhone・androidアプリなど作っています。http://waremon.parseapp.com/

Apache SetEnvIfでenvに一つの値しか設定出来なくて困った

ApacheのSetEnvIfは便利

access_logで画像関連のlogを出したくない時にこんな感じの設定を入れる。

SetEnvIf Request_URI "\.(gif)|(jpg)|(jpeg)|(png)|(css)|(js)$" no_log

CustomLog /var/log/httpd/access_log combined env=!no_log

Request_URIで別条件も入れたくなった

外部に公開したくないサイトの場合、basic認証をかけるんだけど、LBや監視からのヘルスチェックだけはbasic認証をかけたくない。
SetEnvIfを使ってこんな感じで書けるのだけれど、、、d.hatena.ne.jp

すでに、Request_URIのenvをno_logで使ってしまっているので、この方法は使えない。
SetEnvIfでkeyとvalueを追加出来るようになったら良いのに!!!

LocationMatchを使う

色々と考えたが、LocationMatchを使ってヘルスチェック用のurlだけbasic認証を除外する

<LocationMatch "^/(?!health_check)$">
    AuthType Basic
    AuthName "Secret Zone"
    AuthUserFile /var/www/html/.htpasswd
    Require valid-user
</LocationMatch>

これでなんとかやりたい事が実現。
Apacheのconfigの正規表現perlと一緒なんですね。


WEB+DB PRESS Vol.86

WEB+DB PRESS Vol.86

WEB+DB PRESS Vol.85

WEB+DB PRESS Vol.85

  • 作者: 菅原元気,磯辺和彦,山口与力,澤登亨彦,濱田章吾,宮田淳平,松本亮介,海野弘成,佐藤歩,泉水翔吾,佐藤太一,hide_o_55,青木良樹,武本将英,道井俊介,伊藤直也,橋本翔,渡邊恵太,舘野祐一,中島聡,はまちや2,竹原,牧大輔,工藤春奈,WEB+DB PRESS編集部
  • 出版社/メーカー: 技術評論社
  • 発売日: 2015/02/24
  • メディア: 大型本
  • この商品を含むブログを見る