以前まで開発していた環境で、突然 ruby webrick の3000番ポートがアクセス不可になった。ブラウザでアプリが見れないのである。接続エラー。
大体の場合は、使用できていたポートが使用できなくなった原因としては下記が想定される。
1.ポートの競合
2.アンチウィルスソフトのファイアーウォール
3.Windowsファイアーウォール
4.hostsファイルの書き換え
5.ブラウザのプロキシ設定
1の場合、例えば3000番のポートに他のアプリが先取りしてしまってポートが開けないというパターン。通常はエラーとなってサービスが立ち上がらない。
しかし今回は明らかにwebrickは起動しており、競合は見当たらなかった。
2の場合は、アンチウィルスソフトが自動更新されたりして、通常使用していたポートが閉じられてしまうパターン。この場合は、アンチウィルスソフトを停止して接続を試す。しかし今回はアンチウィルスソフトを停止して、尚且つアンインストールしてみたがダメ。接続に失敗する。
3も2と同様。今回はWindowsファイアウォールを停止したが、やはりダメ。
4は、hostsファイルが何らかの原因で書き換えられ、localhost が名前解決できないというパターンであるが、問題なく設定されている。
5は、ブラウザのプロキシ設定により、ブラウザからlocalhostが閲覧できなくなるパターン。残念ながら設定は問題なかった。
その他調査として、FireFox/Chrome/IE で localhost 閲覧を試みたが全てダメ。
ping localhostは通ることも確認済み。関係ないと思いながら、HTTPサーバをインストールして80番ポートを普通に閲覧したが、接続に失敗し、これも見れない。
ポートスキャナーをダウンロードしてポートスキャンを行ったが、必要としているポートが全て塞がれている。
調査を1日掛かってしていたのだが、どれも問題なかったのだが、ポートが塞がれている。
で、時間ももったいない為、Windowsのバックアップと再インストールをすることにした。
悲しい。