header image
 

CouchDB+mod_proxyでユーザー認証

Left Handle DBではCouchDBをデータベースエンジンとして利用することにしています。

現時点ではCouchDBにはユーザー認証がないため、apacheのmod_proxyを使ってユーザー認証を追加するテストをしてみました。

デフォルトのポート5984で動いているCouchDBに対して、proxy経由でアクセスする設定です。

<virtualhost>
ServerAdmin root@home.ryo.com
ServerName api.home.ryo.com
ErrorLog logs/api.home.ryo.com-error_log
CustomLog logs/api.home.ryo.com-access_log combined

<proxy>
AuthType Basic
AuthName “Authorization Realm (same as Trac)”
AuthUserFile /home/webuser/.htpasswd
Require valid-user
Order allow,deny
Allow from all
AddDefaultCharset off
</proxy>
ProxyPass / http://192.168.1.9:5984/
ProxyPassReverse / http://192.168.1.9:5984/
<VirtualHost>

たったこれだけで、
http://192.168.1.9:5984/
で動くCouchDBに対して
http://api.home.ryo.com/
というURLでアクセスが可能になるわけです。

LeftHandle DBとして公開するときには、認証モジュールをmod_auth_pgsqlにして、LeftHandle DBのユーザー管理テーブルを参照する形にすればなんとかなりそうです。

あ、テスト用ですが、自宅サーバーでapi.home.ryo.comというホスト名で実際に動いてますし、ウチのLANのアドレスも出てしまってますが、アタックしないでね ;-)

~ by ryo on 2008 年 10 月 17 日.

One Response to “CouchDB+mod_proxyでユーザー認証”

  1. mod_proxy経由だとtest suitesの一部でエラーが出る件を追っかけて、ヘッダにcharsetが付加されてしまっていることが発覚。

    proxyディレクティブに

    AddDefaultCharset off

    を追加しました。

    AddDefaultCharsetってのはXSS的には重要なんですが、proxyでなく元サーバー側でちゃんと対応しておくべきだな、とと。

Leave a Reply




Powered by WP Hashcash

 
EURO FOOTBALL JUNCTION | 京都情報ジャンクション | Geoタグつけまっしょい