pythonで勉強用に簡易サーバーを以下のコードにて立てました。
zsh
1$ python -m http.server 8000
その後、そのサーバーを立てたホストのブラウザにて、
http://localhost:8000/にアクセスしたところ、正常にアクセスができました。
ここで、iPhoneなどの異なるデバイスからアクセスを試してみようと思い、サーバーを立てたホストのIPアドレスを用いてiPhoneのsafariから
http://サーバーのIPアドレス:8000とアクセスしたところ、
ページが開けません。サーバーが応答を停止しています。
との表記が出ました。
サーバーを立てたホストとiPhoneは同一ネットワークに接続していました。
同じURLで、サーバーのブラウザから開いた場合、localhostのときと同じく成功したので、IPアドレスが間違っているわけではないと思います。
http.serverの設定で、bindというもので外部からの接続を制御できるみたいですが、デフォルトではすべて対象になっているらしく、(https://docs.python.org/ja/3/library/http.server.html)明示的にiPhoneの方のIPアドレスをbindに指定しても変わりませんでした。
なぜアクセスできないのかを知りたいです。
=======追記============
zsh
1python -m http.server 8000 --bind iPhoneのIPアドレス
としたところ、
zsh
1OSError: [Errno 49] Can't assign requested address
となりました。
=======利用環境============
サーバー
OS macOS Big Sur 11.2.3
Firewall無効
iPhone
iPhone SE2
OS iOS 14.4.2