我用hashicorp / precise32盒构建了一个Vagrant VM,并在其上安装了Jekyll。我在Vagrantfile上设置了端口4000转发:config.vm.network :forwarded_port, host: 4000, guest: 4000
当我尝试jekyll server
时,似乎一切正常,但是我无法从外部访问服务器。
Configuration file: /vagrant/test-site/_config.yml
Source: /vagrant/test-site
Destination: /vagrant/test-site/_site
Generating...
done.
Auto-regeneration: enabled for '/vagrant/test-site'
Configuration file: /vagrant/test-site/_config.yml
Server address: http://127.0.0.1:4000/
Server running... press ctrl-c to stop.
当我尝试通过curl到达服务器时,输出为:
curl: (56) Recv failure: Connection was aborted
我已经尝试过使用同一端口上的其他服务器,并且可以访问它们,因此这似乎不是转发问题。
任何想法?
编辑:
curl localhost:4000
在VM内正常工作。由于某些原因,端口转发对于Jekyll无法正常工作。 最佳答案
错误在Server address: http://127.0.0.1:4000/
上。似乎localhost是Jekyll的默认主机,因此我需要运行jekyll serve --host 0.0.0.0
才能从外部使用该服务器。
我在这里找到答案:Vagrant port forwarding not working. Cups not accesible from host
关于vagrant - 无法从外部访问Vagrant上的Jekyll服务器,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/27617217/