WEBrick で簡易Webサーバ
ANHTTPDを使ってhikiを動かしていましたが
どうしてか、なかなか接続出来ない事がしばしば。
何回もリロードしたり新しいページで開き直してようやく表示されるのはざら。
CPU負荷が高いときに接続しにくいのだろうとは思ったのですが
タイムアウト時間より遙かに短い6[s]程度で切れてしまう・・・。
設定を変えてみたりしたけど効果無し。
他にローカルで簡単に立てられるWebサーバソフトは無いものかと探したけど見つからない。
そこで思い出した。
「ruby でできるじゃないか!」と。
そう、WEBrick を使えば良いんですよ。
しかも、数行プログラムを書くだけでいい。ステキ。
require 'webrick' # アクセスを許されるIPアドレスの一覧 ACCEPTED_IP_ADDRESS = {"127.0.0.1" => ""} # リクエストを受け取ったときに実行される check_proc = Proc.new {|req, res| # IPアドレスをチェックする if !ACCEPTED_IP_ADDRESS[req.addr[3]] raise Exception.new("許されていないIPです。=> #{req.addr[3]}") end } # サーバの起動 s = WEBrick::HTTPServer.new( :HTTPVersion => WEBrick::HTTPVersion.new("1.1"), :BindAddress => 'localhost', :Port => '2006', :DocumentRoot => 'd:/www_root', :CGIInterpreter => 'd:/ruby/bin/ruby.exe' , :Logger => nil, :CGIPathEnv => nil, :RequestCallback => check_proc ) trap("INT"){ s.shutdown } s.start
自分なりにIPアドレスチェックを入れてみた。
接続も良好で問題なし!