在本地计算机上使用vagrant访问端口9999上的Java jetty服务器
我使用Vagrant和Puphpet安装了一个centos虚拟服务器,在虚拟机中,我有一个java应用程序在jetty上运行。 “服务器正在运行” 然而,我在从本地机器访问时遇到问题,我设置了一个端口转发,所以9999转发到9999,但是当我访问awesome.dev:9999或192.168.56.103:9999时,我得到一个无法访问的站点错误 很明显,我在puphpet config.yaml文件中遗漏了一些东西,我只是不确定是什么在本地计算机上使用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:
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-build.xml中,并在引导时确认它更改了值,所以这很好:-)
<systemProperty name="jetty.ant.server.host" value="0.0.0.0"/>