«前の日記(2007-07-19 (木)) 最新 次の日記(2007-07-21 (土))»  

まちゅダイアリー


2007-07-20 (金)

Trac のログイン状態が保持されない

おととい設置した Trac にログインして、マイルストーンやらコンポーネントやらを登録しようとした。 でも、何か操作するとすぐにログアウト状態になっちゃう。 何でだろうと思って HTTP ヘッダを見てみた。

HTTP/1.x 303 See Other
Date: Fri, 20 Jul 2007 03:53:18 GMT
Content-Type: text/plain
Expires: Fri, 20 Jul 2007 03:53:18 GMT
Cache-Control: no-cache
Server: Apache/1.3.37 (Unix)
Pragma: no-cache
Set-Cookie: trac_auth=XXXXXXXXXXXXXXXXXXXX; Path=/trac;
Set-Cookie: trac_session=XXXXXXXXXXXXXXXXXXXX; expires=Fri, 20-Jul-2007 03:53:18 GMT; Path=/trac;
Location: http://www.machu.jp/trac/wiki

リダイレクトに「303 See Other」(参考)を使っているんだ…って、これはどうでもいい。 それよりも、 trac_session の expires と、ログインした時間が同じ(03:43:36)になってる。

GET /trac/wiki HTTP/1.1
Host: www.machu.jp
Referer: http://www.machu.jp/trac/wiki
Cookie: trac_form_token=XXXXXXXXXXXXXXXXXXXXXX; trac_auth=XXXXXXXXXXXXXXXXXXXXXXXXXXXXX

なので、次にアクセス(ログイン後に表示される画面を要求)したときには、サーバへ trac_session が送られていない。 trac_form_token と trac_auth は送られている。

HTTP/1.x 200 Ok
Date: Fri, 20 Jul 2007 03:53:28 GMT
Content-Length: 4588
Content-Type: text/html;charset=utf-8
Expires: Fri, 20 Jul 2007 03:53:28 GMT
Cache-Control: must-revalidate
Server: Apache/1.3.37 (Unix)
Set-Cookie: trac_auth=; expires=Fri, 20-Jul-2007 01:06:50 GMT; Path=/trac;
Set-Cookie: trac_session=XXXXXXXXXXXXXXXXXXXX; expires=Thu, 18-Oct-2007 03:53:30 GMT; Path=/trac;

サーバからのレスポンスで、 trac_auth が消されている。画面もログイン前の状態になってる。 うーん。なんだろ、これ。

Tags: Trac
本日のツッコミ(全3件) [ツッコミを入れる]
通りすがり (2007-07-27 (金) 10:38)

私も同じ現象に遭遇しましたが、trac.iniで<br>[trac]<br>check_auth_ip = false<br>とすることで、解決できました。<br><br>コネクション毎にソースIPアドレスが変わるような環境(クラスタ化されたNAT/FW配下からのアクセス)で上記現象になるようです。(参照:auth.py)

anonymous (2007-07-27 (金) 10:39)

私も同じ現象に遭遇しましたが、trac.iniで<br>[trac]<br>check_auth_ip = false<br>とすることで、解決できました。<br><br>コネクション毎にソースIPアドレスが変わるような環境(クラスタ化されたNAT/FW配下からのアクセス)で上記現象になるようです。(参照:auth.py)

まちゅ (2007-08-02 (木) 22:32)

おおっ。そういえばどこかで似たような記述を見た気がします。<br>これで解決しそうです。ありがとうございます〜。