開発環境で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の通信状態を調査する

メールを受信するユーザーを作るメモ

とある、サイトのテスト用のサーバーがあるのだけれど、そのサーバーで新しいメールアドレス(つまり新しいユーザー)を作る手順のメモ。

※ほんとメモなので、これを参考にしても他の環境で同じように再現するとは限りませんので、ご了承ください。
※例は、hogehoge.com というサーバーで、test1@hogehoge.com というメールアドレスを作成しています。

1.ユーザーの作成

# /usr/sbin/useradd test1
# passwd test1
New UNIX password: 
BAD PASSWORD: it is based on a dictionary word
Retype new UNIX password: 
passwd: all authentication tokens updated successfully.

2.sendmailの設定
/etc/mail/virtusertable を編集します。

# emacs /etc/mail/virtusertable

test1@hogehoge.com    test1

↑を追加

3.sendmail再起動

# /etc/init.d/sendmail restart

4.送信できるかどうかテスト

# /usr/sbin/sendmail -bt -C /etc/mail/sendmail.cf
/parse test@hogehoge.com

mailer local, user test1 と最終行にでれば成功です。
http://www.fmmc.or.jp/~fm/nwts/rh_linux/ch3/3_2_2_3.html
↑送信テストの参考


メモでした。


※試した環境
OS : CentOS 4.4