[macOS Monterey] localhost:5000にアクセスすると403が返される時に、まず確認すること

  • 小ネタ

先日新しくMacBook Pro(OSはmacOS Monterey)を購入して、特に問題なく作業をしていたのですが、localhost:5000にアクセスした時になぜか403 Forbiddenが返されて困ったので調べてみました。

Viteのpreviewコマンドを実行すると、特にポートを設定しない場合は5000番ポートでローカルサーバーが起動&配信されるので、そういった時は困ります。

ひとまず、ポートがすでに使用中なのかを調べてみましょう。ターミナルで次のコマンドを実行する。

lsof -P -i:5000

するといくつかのプロセスで使用していることが分かりました。次が実行結果です。

ControlCe 554 XXXXX   33u  IPv4 (〜略〜)      0t0  TCP *:5000 (LISTEN)
ControlCe 554 XXXXX   34u  IPv6 (〜略〜)      0t0  TCP *:5000 (LISTEN)

あれ?使われている。さらに調べてみると、Apple Developer Forumsで答えを得ました。

🌎 https://developer.apple.com/forums/thread/693768

どうやらAirPlay Receiver機能で5000番ポートを使っているようです。この機能はシステム環境設定からONとOFFを切り替えられます。

特に設定をONにした記憶がないので、デフォルトでONの状態なのでしょうか。今のところ特に使っていないので設定をOFFにします。

まとめ

ローカルホストの5000番ポートで403が返される場合は、まずは上述のAirPlay Receiverの有効かどうかを確認してみましょう。

もし有効の場合は、次の2つの回避策が挙げられるかと思います。

  • 開発等でローカルサーバーを立てる時に5000番ポート以外を設定できる場合は、5000番以外を指定する
  • AirPlay Receiverを使っていないなら、システム環境設定からOFFにする

以上のAirPlay ReceiverをOFFにしても解決しない場合は、他の問題があるかと思います。

今後、AppleがAirPlay Receiverで5000番ポート使うのをやめるという場合もあるかと思いますが、どうなることやら。

以上、小ネタでした。

この記事を共有

アバター

K.Utsunomiya
Dirty Thirty
主にWebフロントエンド技術と気になった音楽について投稿していきます。
最近ハマっていることは、クロスバイクで走ることとジムでの運動です。
詳しいプロフィール