本地网络中的独立Wildfly

14

我需要一种方法让局域网用户(192.168.x.y)可以访问我的Web应用程序前端(默认情况下位于localhost:8080)。假设我的IP是192.168.1.72,我希望在我的网络中,其他客户端可以通过在地址栏中输入192.168.1.72:8080来查看我的应用程序前端。是否有办法在我的本地网络中启动独立的Wildfly实例,而不是在localhost上?还是有另一种解决方案(也许我可以将我的本地网络地址连接到localhost上)?抱歉问题比较简单。


尝试在端口80上运行它,因为这是默认的网站端口(除非您正在运行另一个网站)。然后人们可以在浏览器中键入您的IP地址并被引导到网页。请确保防火墙不会阻止端口80,以防万一。 - Mike
4个回答

31

standalone.bat/standalone.sh启动脚本接受bind参数,以便您可以将应用服务器绑定到特定IP地址以进行传入请求的处理。

例如:standalone.bat -b 0.0.0.0将启动Wildfly监听所有IP地址。

可能的参数:0.0.0.0表示所有IP地址,127.0.0.1表示仅在本地主机上侦听,192.168.1.72表示仅在您的LAN IP上侦听(即使从本地计算机连接,也只需输入LAN IP)。注意:这只更改它正在侦听的IP,端口仍为8080或您已配置的任何其他端口。

您有一个-b参数,用于正常的客户端服务绑定地址,还有一个-bmanagement,用于管理界面。这是您可以通过浏览器或远程协议连接到管理员控制台的接口。

即使您为Web应用程序提供远程访问权限,也最好仅为自己保留管理接口。

因此,例如:

standalone.bat -b 0.0.0.0 -bmanagement 127.0.0.1将允许任何人连接,但仅允许管理的本地连接。


嗨,@Cristian,使用-b 10.0.0.17参数,我可以访问托管Web服务器的机器上的Web服务器,但无法从本地网络中的其他机器访问。这是否与我的ISP提供商有关?我使用Comcast Xfinity互联网服务。谢谢。 - user697911

13

如果您想要手动进行此操作,您可以通过更改standalone.xml文件中的公共接口来设置不同的IP地址。应该是这样的:

<interface name="public">
    <inet-address value="${jboss.bind.address:192.168.1.72}"/>
</interface>

所以,在重新启动后,服务器现在仅侦听指定的IP地址。如果您想允许所有可用的网络接口,则应将0.0.0.0放在这里(请小心)。


2
如果您想允许所有IP地址,可以在standalone.xml中输入以下内容:
``````
最初的回答。
<interface name="public">
        <any-address/>
</interface>

也许更好的解决方案是改变网络... 最初的回答。

1
如果您正在使用Eclipse和WildFly开发Web应用程序,并且希望从另一台机器/设备访问您的Web应用程序(例如测试其响应式设计),请编辑启动配置属性。将“localhost”更改为“0.0.0.0”。
-mp "C:\wildfly-14.0.1.Final\modules" org.jboss.as.standalone -b localhost --server-config=standalone.xml -Djboss.server.base.dir=C:\wildfly-14.0.1.Final\standalone

到:

-mp "C:\wildfly-14.0.1.Final\modules" org.jboss.as.standalone -b 0.0.0.0 --server-config=standalone.xml -Djboss.server.base.dir=C:\wildfly-14.0.1.Final\standalone

然后取消选中“始终更新与运行时相关的参数”。您应该能够使用http://ip:port访问您的Web应用程序。

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