2013-10-08 28 views
1

我有一个Jboss 7服务器安装程序并运行一个Web应用程序和一个Java Web Start应用程序。两者都很好。以下是我的standalone.xml的快照,它提供了各种使用端口的信息。Jboss 7生产服务器端口设置

<socket-binding name="management-http" interface="management" port="${jboss.management.http.port:9990}"/> 
     <socket-binding name="management-https" interface="management" port="${jboss.management.https.port:9443}"/> 
     <socket-binding name="ajp" port="8009"/> 
     <socket-binding name="http" port="80"/> 
     <socket-binding name="https" port="443"/> 
     <socket-binding name="osgi-http" interface="management" port="8090"/> 
     <socket-binding name="remoting" port="4447"/> 
     <socket-binding name="txn-recovery-environment" port="4712"/> 
     <socket-binding name="txn-status-manager" port="4713"/> 

我想知道更多关于如何在这里设置Jboss生产服务器的信息。通常情况下,所有系统上的端口80都会打开http流量,因此Web应用程序没有问题。

但是,我的java客户端连接到服务器上部署的java web start应用程序使用远程ejb接口使用端口4447这是Jboss服务器默认远程端口。此端口可能无法打开所有系统上的流量。

所以我的问题是:How do you make this remoting interface listen to a port which will hopefully be available on all systems across all networks ?如果我改变这个说80将我的应用程序仍然正常工作?我不想尝试尝试并破坏一切:D

任何有关设置Jboss生产服务器的经验?

回答

1

基本上我想确保我的所有客户端可以连接到 系统

请注意,您在这里谈论远程端口,您的Web服务器端口,因此它要么开放每个人或没有人。在生产服务器上打开端口后,通常对于客户端可以连接到远程端口的端口没有太多限制。例如,某些Web代理只允许您连接到80(标准http端口),443(ssl端口)和8080(某些服务的http端口),但除此之外,所有端口应该一样好,没关系那你选择哪一个。如果您想避免通常为其他内容保留的端口,您可以检查list of ports

因此,对于通常情况下,4447应该没问题。对于某些人来说,如果他们支持严格的代理/防火墙,它将无法工作。 (您有可能在80端口上为您的jboss远程处理设置专用主机名,但是在该主机名中,您不能运行任何常规http服务器,并且为此使用标准http端口很腥。)最可靠的选择是重写应用程序以使用http REST接口或类似的方法,连接到端口80,并在那里安装一个可以执行EJB调用的Web应用程序,这样EJB层就不会暴露。

还要注意远程处理接口已经有its share of exploits。你想要check carefully there are no open exploits for JBoss in there。但是,我至少还没有意识到针对AS7的攻击。存在可能适用于AS7的at leasttwo

如果您使用远程处理,您可能还想要配置安全领域。

+0

优秀的答案。感谢您指出我可以用http接口调用我的ejb调用。现在我希望我已经做到了。 4447端口可能不适用于所有客户端。然而,使用http接口可能是有利的,因为端口80将始终打开.. – rockstar

+1

@rockstar谢谢,希望它有帮助!我现在用一个你可能想知道的漏洞更新了答案。 – eis

1

不,一次只有一个进程可以绑定到一个端口。如果您的应用程序http绑定到80,那么远程处理需要使用一些其他打开的端口。

+0

感谢您的回答。所以这意味着我将需要找到一个默认情况下在所有可能的系统上打开的端口,因为4447 isnt .. – rockstar

+0

@rockstar:是的,顺便说一下,大多数管理员默认关闭所有端口(除非需要),所以你找不到通用的开放端口。除非需要,否则80个将被关闭。管理员打开80,如果有任何Web应用程序监听。 – kosa

+0

基本上我想确保我所有的客户都可以连接到系统。 – rockstar