使用本地计算机上的vagrant在端口9999上访问Java jetty服务器

时间:2016-11-03 15:23:17

标签: vagrant jetty portforwarding puphpet

我已经使用Vagrant和Puphpet设置了一个centos虚拟服务器,在VM中我有一个在jetty上运行的java应用程序。 "服务器正在http://127.0.0.1:9999"

运行

但是我无法从我的本地机器访问它,我已经设置了一个端口转发,所以9999转发到9999,但是当我访问awesome.dev:9999或192.168.56.103:9999我得到一个网站无法到达错误

显然我在puphpet config.yaml文件中遗漏了一些东西,我只是不确定是什么。

               machines:
                    vflm_b214h6dav8jj:
                        id: machine1
                        hostname: machine1.puphpet
                        network:
                            private_network: 192.168.56.103
                            forwarded_port:
                                vflmnfp_hmt0pd4imhhd:
                                    host: '5997'
                                    guest: '22'
                                vflmnfp_b74egg9hlvog:
                                    host: '9999'
                                    guest: '9999'
                        memory: '1024'
                        cpus: '1'

如果我转到awesome.dev,那么我输入的hello world页面正在运行,所以我知道VM正在运行。

1 个答案:

答案 0 :(得分:2)

问题是

  

“服务器正在http://127.0.0.1:9999

运行

因此无法在本地主机以外的任何网络接口上访问。

您需要更改此项以在服务器的IP上启动应用程序,或者您可以使用0.0.0.0(特殊IP以便所有接口都可以访问它)

您需要更改jetty.host属性,有一些可能性

  • 使用以下命令启动服务器:

    java -Djetty.host=0.0.0.0 -jar start.jar
    
  • connector

    中定义主机
    <New class="org.eclipse.jetty.server.ServerConnector">
      <Set name="host">0.0.0.0</Arg>
      ....
    </New>
    
  • 使用ant jetty-build.xml

    时创建一个新的系统属性
    <systemProperty name="jetty.ant.server.host" value="0.0.0.0"/>