如何将对JBoss 7上已部署应用程序的访问限制为仅本地主机?
我有一个分为多个可部署构件的应用程序,其中一个是REST服务,另一个是REST接口的web接口,等等。一位客户正计划在其DMZ中部署此功能,并希望确保REST界面只能由同一机箱中的应用程序访问。由于web应用程序(以及其他应用程序)仍然需要可访问,因此显然不适合更改JBoss的侦听接口如何将对JBoss 7上已部署应用程序的访问限制为仅本地主机?,jboss,jboss7.x,Jboss,Jboss7.x,我有一个分为多个可部署构件的应用程序,其中一个是REST服务,另一个是REST接口的web接口,等等。一位客户正计划在其DMZ中部署此功能,并希望确保REST界面只能由同一机箱中的应用程序访问。由于web应用程序(以及其他应用程序)仍然需要可访问,因此显然不适合更改JBoss的侦听接口 我曾尝试在jboss-web.xml中添加虚拟服务器,但这似乎不起作用。另一种可能是在domain.xml中使用重写模式,但这对我来说似乎不太合适,即使我可以让它工作。理想情况下,我想要的是特定于可部署工件的东西
我曾尝试在jboss-web.xml中添加虚拟服务器,但这似乎不起作用。另一种可能是在domain.xml中使用重写模式,但这对我来说似乎不太合适,即使我可以让它工作。理想情况下,我想要的是特定于可部署工件的东西,它只允许从本地主机访问整个工件。我在一个项目中有类似的要求,虚拟服务器是唯一正确的方法 您只需添加到standalone.xml/domain.xml:
<virtual-server name="only-local">
<alias name="localhost"/>
<alias name="127.0.0.1"/>
</virtual-server>
然后转到应用程序jboss-web.xml文件:
<virtual-host>only-local</virtual-host>
仅本地
我认为您可以在应用程序的上下文配置中使用阀。B实际上,您可以使用如下内容:
<Context ...>
<Valve className=”org.apache.catalina.valves.RemoteAddrValve” allow=”127.0.0.1″/>
...
</Context>
...
有关更多信息,请参阅
这个问题还有一些可能有用的例子:
PS:这也适用于JBoss
希望能有帮助 您可以在context.xml中配置某人已经提到的阀门。另一种方法是使用不同的UI端口。您可以让UI和REST API监听不同的端口,并在防火墙上切换(如果还没有)。您希望配置防火墙规则,以便REST API端口只能接受来自本地主机或环回接口的数据。UI端口应该更能接受传入的请求