最佳答案
我在我的mac上使用Jekyll
和Vagrant
。我发现Jekyll server
将绑定到0.0.0.0:4000
而不是127.0.0.1:4000
。同时,gem server
将默认绑定到此地址。我仍然可以通过http://localhost:port
访问它。但是对于Jekyll
, 似乎默认设置(例如0.0.0.0:4000)需要Internet访问。我不能运行Jekyll server
没有互联网。是一个小错误吗?
我也使用Vagrant
。我在Vagrantfile中设置了端口转发(8080 => 4000),因为我在Vagrant
虚拟机中安装了Jekyll
,并在Macintosh下测试它。如果我使用默认设置(0.0.0.0:4000),它可以工作。我可以用http://localhost:8080
从我的狩猎旅行中访问它。但是如果没有网络,我无法绑定0.0.0.0:4000。我使用jekyll server -H 127.0.0.1
将服务绑定到127.0.0.1:4000
,然后我不能通过http://localhost:8080
访问它。
谁能解释0.0.0.0、127.0.0.1和localhost之间的区别?谁能解释为什么这个差异会导致这个问题?