«前の日(02-16) 最新 次の日(02-18)» 追記

これ日記なん?


2002-02-17(Sun) この日を編集

_ 今日のジム

休んだ。昨日やりすぎたな。

_ MGS2 very HARD 編

タンカー編は1:50くらい。プラント編はあからさまに難しくなっている。M9の利きは悪いし。


2003-02-17(Mon) 21:15 - この日を編集

_ 2度寝失敗

のため、朝飯抜きの罰。ぐすん。なんか月曜の朝って*必ず*失敗してる気がしてるのだが。

_ 鼻血

ここ何ヶ月か気になってるのだが、右の鼻だけどうも鼻血が出てるみたい。鼻をかんだりすると黒い血の塊がでてきたりするし、ティッシュをまるめていれてみると鮮血がべったりと(^^;。とりあえず垂れてはきてないので急に困ったりはしてないのだけど、やっぱり気になる。

チョコレート食べ過ぎかな?

_ チョコレート

といえば、ちょっと前に親からお菓子を大量に送ってきたのだが、ほとんど袋いりのチョコレート(^^;今も3種類開封して、少しずつ食べている。

しかし、独りってさびしいもんですな...ぐすん。

_ kde3

を入れるつもりで、japanese/kde3-i18n をいれたんだが、startkdeがない(--;

どうも x11/kde3 を先に入れる必要がある様子。ああ、またftpに時間がかかるのか...。


2004-02-17(Tue) この日を編集

_ 晩御飯

今日も面倒なので弁当。しょうが焼き+大盛りで。ま、これを続けていくとmore野菜!モードになるわけだよ。

_ G5dual

いいなー。ていうか美しいよ。デザインが。やっぱMac使ってみたいな。iBookか!?


2008-02-17(Sun) この日を編集

_ Windowsでmod_auth_sspiでリバースプロキシで構成するときにREMOTE_USERって効かないよね?

HikiとかtdiaryとかCGIで直接使う場合は、REMOTE_USERにログイン名が入るから簡単なんだが、RailsでリバースプロキシでNTLM認証かけたい場合、環境変数ってセットされませんよね?あくまでリクエストのパラメータに入ってこないといかんのだけど普通はセットされてないみたい。

ぐぐってみた感じでは、mod_rewrite使ってURLに含める手法とか、mod_headersでヘッダに追記する手法とかがあるみたいなんだが、手元ではうまくいってない。パラメータにはここでいうtype-3 messageはセットされているみたいなので、ここから user-string が取り出せたらいいんじゃね?とか思った。

こういうのって誰かプラグイン作ってないのかしら...

_ mod_auth_sspiの設定ができた

自宅環境でApache2.2.8にあげる必要があったので、ついでにmod_auth_sspi+reverse proxyでRails接続の環境を作ってみた。

LoadModule sspi_auth_module modules/mod_auth_sspi.so

ProxyRequests Off

<Proxy *>
Order deny,allow
Allow from all
</Proxy>

ProxyPass /t http://192.168.0.25:3000/t
ProxyPassReverse /t http://192.168.0.25:3000/t
<Location /t>
    AuthName "Windows"
    AuthType SSPI
    SSPIAuth On
    SSPIAuthoritative On
    Require valid-user
</Location>

Railsでテスト用のコントローラと.rhtmlをでっちあげる

<h1>Test#index</h1>
<ul>
<% request.env.sort.each do |k,v| %>
  <li><%=k%> = <%=v%></li>
<% end %>
</ul>

結果

GATEWAY_INTERFACE = CGI/1.2 
HTTP_ACCEPT = */* 
HTTP_ACCEPT_ENCODING = gzip, deflate 
HTTP_ACCEPT_LANGUAGE = ja 
HTTP_AUTHORIZATION = NTLM TlRMTVNTUAADAAAAAAAAAEg...(ここにこんな感じでbase64エンコードされたtype-3メッセージが入ってる)
HTTP_CONNECTION = Keep-Alive 
HTTP_HOST = 192.168.0.25:3000 
HTTP_USER_AGENT = Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1) 
HTTP_VERSION = HTTP/1.1 
HTTP_X_FORWARDED_FOR = 127.0.0.1 
HTTP_X_FORWARDED_HOST = localhost 
HTTP_X_FORWARDED_SERVER = 192.168.0.51 
PATH_INFO = /test 
REMOTE_ADDR = 192.168.0.51 
REQUEST_METHOD = GET 
REQUEST_PATH = /t/test 
REQUEST_URI = /t/test 
SCRIPT_NAME = /t 
SERVER_NAME = 192.168.0.25 
SERVER_PORT = 3000 
SERVER_PROTOCOL = HTTP/1.1 
SERVER_SOFTWARE = Mongrel 1.1.3 

_ うーん。なんか違う。

自宅の環境だとHTTP_AUTHORIZATIONにちゃんと値が入ってないみたいだ。そもそもAD環境下で試したときと文字列の長さが違いすぎる。

ApacheのAccessLogにはきちんと記録はされてるようなんだけど。

mod_auth_sspi用の設定もまあ微妙に違うのでそのあたりなのかも。

ちなみにテストコードの断片はこんなの(うまくいかない例):

<h1>ntlm</h1>
<%
  keys = %w(header lm_resp_len lm_resp_off nt_resp_len nt_resp_off dom_len dom_off user_len user_off host_len host_off msg_len rest)
  ntlm_param = request.env['HTTP_AUTHORIZATION'].unpack('x5 m*')[0]
  vals = ntlm_param.unpack('a12 x2ssx2 x2ssx2 x2ssx2 x2ssx2 x2ssx2 x4 s a*')
  ntlm = Hash[*keys.zip(vals).flatten]
%>
<ul>
<% ntlm.sort.each do |k, v| %>
  <li><%=k %>= <%=v.inspect%></li>
<% end %>
</ul>
dom_len= 0 
dom_off= 72 
header= "NTLMSSP\000\003\000\000\000" 
host_len= 0 
host_off= 72 
lm_resp_len= 0 
lm_resp_off= 72 
msg_len= 72 
nt_resp_len= 0 
nt_resp_off= 72 
rest= "\000\000\005&#136;\242\005\001(\n\000\000\000\017" 
user_len= 0 
user_off= 72 

_ mod_rewriteで引き渡す方法がうまくいった。

http://www.ruby-forum.com/topic/83067#151189 の方法でうまくいった。

ProxyRequests Off

<Proxy *>
Order deny,allow
Allow from all
</Proxy>

ProxyPass /t http://192.168.0.25:3000/t
ProxyPassReverse /t http://192.168.0.25:3000/t
<Location /t>
    AuthName "Windows"
    AuthType SSPI
    SSPIAuth On
    SSPIAuthoritative On
    Require valid-user
    SSPIOmitDomain On
    SSPIUsernameCase upper
    RewriteEngine On
    RewriteCond %{LA-U:REMOTE_USER} (.+)
    RewriteRule . - [E=RU:%1]
    RequestHeader add X-Forwarded-User %{RU}e
</Location>
...
HTTP_X_FORWARDED_SERVER = 192.168.0.51 
HTTP_X_FORWARDED_USER = LOGO\KOG 
PATH_INFO = /test 
.....

やはりmod_rewriteはちゃんと理解したほうがよさそうだ。


2011-02-17(Thu) この日を編集

_ github.com 勝手ミラーを作った。

防火壁のなかから直接 http: で github.com からリポジトリをとってこようとすると、どういうわけだかエラーで最後まで走りきらないことがある。きっと、ウィルスチェックやらなんやら多段に噛んでるからだと思うのだけど。当然のことながら、gitプロトコルは通らないし、sshも駄目。httpsトンネル掘りもね。

で、git clone --mirror なるものに気づいて、このサイトにミラーしたものを clone してみたところ、うまくとってこれるみたいだったんで、自分がウォッチしているリポジトリを全部ミラーすることにしてみた。完全に無保証だし、操作ミスでソースにパッチが混入する可能性も捨てきれないけれど、一応さらしておく。

http://bangbangshoot.sakura.ne.jp/github.cgi

結構便利かも。

実装はgithubのAPIから一覧もってきて clone or pull するだけ。自宅サーバのjenkinsから毎朝たたいている。README書いたらソース公開したいな。