无法从外部访问Vagrant上的Jekyll服务器

21

我使用hashicorp/precise32 box构建了一个Vagrant虚拟机,并在其中安装了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 在虚拟机内部可以正常工作。由于某种原因,Jekyll的端口转发无法正常工作。

1个回答

46
错误出现在服务器地址:http://127.0.0.1:4000/。看起来本地主机是Jekyll的默认主机,因此我需要运行 jekyll serve --host 0.0.0.0 才能使服务器在外部可用。
我在这里找到了答案:Vagrant端口转发不起作用。主机无法访问Cups

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接