![[macOS Monterey] localhost:5000にアクセスすると403が返される時に、まず確認すること](https://images.prismic.io/koredana/8d02569e-0f7c-480e-b978-af72a5721986_despair.png?ixlib=gatsbyFP&auto=compress%2Cformat&fit=max&q=50&rect=178%2C192%2C802%2C501&w=800&h=500)
[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番ポート使うのをやめるという場合もあるかと思いますが、どうなることやら。
以上、小ネタでした。