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

在本地计算机上使用vagrant访问端口9999上的Java jetty服务器,vagrant,jetty,portforwarding,puphpet,Vagrant,Jetty,Portforwarding,Puphpet,我使用Vagrant和Puphpet安装了一个centos虚拟服务器,在虚拟机中,我有一个java应用程序在jetty上运行。 “服务器正在运行” 然而,我在从本地机器访问时遇到问题,我设置了一个端口转发,所以9999转发到9999,但是当我访问awesome.dev:9999或192.168.56.103:9999时,我得到一个无法访问的站点错误 很明显,我在puphpet config.yaml文件中遗漏了一些东西,我只是不确定是什么 machines:

我使用Vagrant和Puphpet安装了一个centos虚拟服务器,在虚拟机中,我有一个java应用程序在jetty上运行。 “服务器正在运行”

然而,我在从本地机器访问时遇到问题,我设置了一个端口转发,所以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'
如果我转到awome.dev,那么我输入的hello world页面正在工作,因此我知道VM已经启动并运行

问题是

“服务器正在运行”

因此,除了本地主机之外,它在任何网络接口上都不可访问

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

您需要更改
jetty.host
属性,有几种可能性

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

    java -Djetty.host=0.0.0.0 -jar start.jar
    
  • 在您的应用程序中定义主机

    
    0.0.0.0
    ....
    
  • 使用ant jetty-build.xml时创建新的系统属性

    <systemProperty name="jetty.ant.server.host" value="0.0.0.0"/>
    
    
    

好的,我正在使用Ant启动jetty,在jetty-build.xml文件中,但是向其中添加host=“0.0.0.0”不起作用。我如何在这里配置它?嗯,您可以尝试将pbm设置为系统属性
在这里,主机是从连接器定义读取的,不确定它是否真的可以从ant重写。使用系统属性可能会起作用,但不确定它是否真的可靠(取决于属性设置与代码的时间)-最好是真正更改连接器定义我将以下内容放在jetty-build.xml中,并在引导时确认它更改了值,所以这很好:-)
<systemProperty name="jetty.ant.server.host" value="0.0.0.0"/>