我用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/

10-16 22:37