開発環境でSSLを使うために、Webrick SSLをポート443で立ち上げる(Windows XP)

httpsでしか、アクセスできないページを作成しようと、ssl_requirement を使おうと思ったのだが、ローカルでSSL環境を作らないといけない。


そこで、WebrickSSLをポート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の通信状態を調査する