開発環境でSSLを使うために、Webrick SSLをポート443で立ち上げる(Windows XP)
httpsでしか、アクセスできないページを作成しようと、ssl_requirement を使おうと思ったのだが、ローカルでSSL環境を作らないといけない。
そこで、WebrickでSSLをポート443で立ち上げようとしてみたら、
C:\rails_app>ruby script/webrick_ssl -p 443 => Booting WEBrick on SSL... => Rails application started on http://0.0.0.0:443 => Ctrl-C to shutdown server; call with --help for options Enter PEM pass phrase: [2007-10-17 10:46:11] INFO WEBrick 1.3.1 [2007-10-17 10:46:11] INFO ruby 1.8.6 (2007-03-13) [i386-mswin32] [2007-10-17 10:46:11] WARN TCPServer Error: Bad file descriptor - bind(2) c:/ruby/lib/ruby/1.8/webrick/utils.rb:73:in `initialize': Bad file descriptor - bind(2) (Errno::EBADF) from c:/ruby/lib/ruby/1.8/webrick/utils.rb:73:in `new' from c:/ruby/lib/ruby/1.8/webrick/utils.rb:73:in `create_listeners' from c:/ruby/lib/ruby/1.8/webrick/utils.rb:70:in `each' from c:/ruby/lib/ruby/1.8/webrick/utils.rb:70:in `create_listeners' from c:/ruby/lib/ruby/1.8/webrick/ssl.rb:87:in `listen' from c:/ruby/lib/ruby/1.8/webrick/server.rb:63:in `initialize' from c:/ruby/lib/ruby/1.8/webrick/httpserver.rb:24:in `initialize' from script/webrick_ssl:136:in `new' from script/webrick_ssl:136:in `dispatch' from script/webrick_ssl:145
ポートを変えると動くので、どうもWindowsでポート443が使われているらしい。
それで、だれがポートを利用しているのか、「PortReporter」というソフトがあったので、調べてみた。
結果・・・
4076:firefox.exe TCP 443 0.0.0.0 LISTENING 0.0.0.0
FireFoxであることが判明!!
FireFoxを落としたらWebrick SSLは443で立ち上がってくれました。
なぜFireFoxは443を占領するのか・・・は調べませんでした・・・。
○ssl_requirement
http://dev.rubyonrails.org/svn/rails/plugins/ssl_requirement/
ssl_requirement を改造して、https => http の画面遷移でブラウザの警告をなくす - elm200 の日記
○Webrick SSL
SSL 上で WEBrick を動かす - elm200 の日記
○PortReporter
@IT:Windows TIPS -- Tips:Port ReporterツールでTCP/IPの通信状態を調査する