[FreeBSD][nginx] http-auth-digestモジュールパッチ

nginxは標準ではDigest認証に対応していません.
そのため,Digest認証をするために,samizdatco氏の作ったnginx-http-auth-digestというサードパーティモジュールを利用します.

FreeBSDのportsで,HTTP_AUTH_DIGESTオプションをオンにすると導入されるモジュールも同じです.

このモジュールですが,とあるバグを抱えています.(2012/10/20現在)
URIによっては認証が正常に行われず,401←→認証の無限ループが発生するというものです.

例えば,以下のようなURLにアクセスした際に問題が発生します.

http://example.com/hoge.php?param=foo

このバグを修正するためのパッチを作成してみました.

続きを読む

[Lua] サーバの状態監視スクリプト

Webサーバをapacheからnginxに移行してみて1ヶ月ほどが経過しました.

導入時は色々手間取りましたが,導入完了後は特にトラブルなく,apacheよりサクサク動いてくれています.

nginxのモジュールに lua-nginx-module というものがあります.
このモジュールを使うことで,ページの生成やリダイレクトなど,様々なnginxの操作をLuaスクリプトで行うことができるようになります.

例えば,Luaスクリプトでコンテンツを動的生成したい時は以下のような一文で実現できます.

content_by_lua "ngx.print('Hello, world!')";

今回はこのモジュールを使用して,サーバの状態をjsonで吐いてくれるスクリプトを組んでみました.

続きを読む