発端はnextjsで開発していて、3000番ではなくて50505番を使っていた時に起こりました。
⨯ Failed to start server
Error: listen EACCES: permission denied 0.0.0.0:50505
ephemeral portって49152~だと思っていたのでキリのいい番号出ない限りなかなか衝突しないと思っていたのでびっくり。firewallでそもそもblockしてたっけ?と調べてたりしながら時間を無駄にしました。
ググっているとstack overflowでぴったりな回答に出会いました。
Just a moment...
netsh interface ipv4 show excludedportrange protocol=tcp
プロトコル tcp ポート除外範囲
開始ポート 終了ポート
---------- --------
5357 5357
49670 49769
49770 49869
49870 49969
50000 50059 *
50060 50159
50162 50261
50268 50367
50471 50570
50571 50670
50671 50770
50771 50870
50871 50970
50971 51070
* - 管理されている除外ポート。
ピンポイントで50505が含まれていますね。
どうやらHyper-VやらDocker、WSLなど、一部のサービスはポートを結構な範囲で予約するらしいです。
コメント