我正在查看本地托管的网站(使用grunt serve
,如果这很重要)。我可以通过http://localhost:9000/
或http://127.0.0.1:9000/
查看,但不能通过http://10.0.0.16:9000/
查看。
10.0.0.16是我的本地IP地址(来自ifconfig
或系统偏好设置),但我无法从托管它的设备或其他设备访问我http://10.0.0.16:9000/
的本地托管内容网络。
当我的计算机在其他网络上时,我在使用本地IP地址访问本地托管站点方面没有遇到任何问题,仅在我的家庭网络上。你知道需要改变什么吗?
答案 0 :(得分:13)
如果您可以通过map()
(或RouteServiceProvider
)访问在您自己的计算机上运行的服务器,但不能通过计算机的IP地址访问,这意味着服务器软件配置为侦听localhost接口只要。这是一个配置项,为了避免暴露可能不安全的服务器,许多服务器程序预先配置为仅在本地主机上侦听。这样,您可以在暴露服务器之前安全地进行本地测试。
请注意,127.0.0.1
表示“侦听此计算机上的所有接口”,这很方便,但如果计算机有多个接口,则可能会导致安全问题。
答案 1 :(得分:0)
如果您使用的是Python 3.8,则为known bug。解决方案是使用-bind
参数手动指定IP地址或使用Python 3.9。
python -m http.server 8000 --bind 127.0.0.1
(或0.0.0.0
,<insert-your-ip-here>
)