为什么Vagrant端口转发不起作用

时间:2015-04-30 06:23:13

标签: vagrant vagrantfile

我有一个JBoss的Vagrant盒子。我试图转发两个端口。我的Vagrantfile有以下内容

web.vm.network "forwarded_port", guest: 8080, host: 8080 # jboss
web.vm.network "forwarded_port", guest: 9990, host: 9990 # jboss management console

vagrant up web我可以在控制台中看到

==> web: Forwarding ports...
    web: 8080 => 8080 (adapter 1)
    web: 9990 => 9990 (adapter 1)

当我netstat端口似乎没问题时

$ sudo netstat -tulpn | grep VirtualBox
[sudo] password for ostraaten: 
tcp        0      0 0.0.0.0:9990            0.0.0.0:*               LISTEN      21241/VirtualBox
tcp        0      0 127.0.0.1:2222          0.0.0.0:*               LISTEN      21241/VirtualBox
tcp        0      0 0.0.0.0:8080            0.0.0.0:*               LISTEN      21241/VirtualBox

当我在Vagrant盒子上做curl -v http://localhost:8080时,这很好用。我看到了JBoss的东西。

当我在主持人身上curl -v https://localhost:8080时,会发生其他事情。

$ curl -v http://localhost:8080
* Rebuilt URL to: http://localhost:8080/
* Hostname was NOT found in DNS cache
*   Trying 127.0.0.1...
* Connected to localhost (127.0.0.1) port 8080 (#0)
> GET / HTTP/1.1
> User-Agent: curl/7.35.0
> Host: localhost:8080
> Accept: */*
> 
* Recv failure: Connection reset by peer
* Closing connection 0
curl: (56) Recv failure: Connection reset by peer

Vagrant框上没有运行防火墙。

首先,转发端口的配置似乎微不足道,但现在看起来还有更多。这应该怎么做?

1 个答案:

答案 0 :(得分:0)

我知道这有点太晚了,但我刚刚遇到了类似的问题,但我使用的是Sinatra。经过一番研究,正如Al Jacinto所说,我发现运行你的红宝石应用程序是这样的:

ruby app.rb -o 0.0.0.0

http://www.sinatrarb.com/intro.html

应该解决问题,而无需编辑ruby.rb 如果这与某种方式无关,我道歉但我认为它可能会给出一个提示!