隔离Liferay对前端和REST URL的访问

时间:2019-03-12 09:45:25

标签: java tomcat liferay liferay-7

我有一个运行在example.org/app之类的URL上的Liferay实例。该实例确实具有REST API,该API通常会在example.org/app/o/restpath下运行。

运行此实例的服务器的方式是可以从外部不受限制地访问前端,但是REST API仅可以从网络内部以example.org/rest之类的URL访问。

我需要确保无法使用example.org/app访问REST API。我也应该不可能用example.org/rest访问前端。有人有什么建议吗?

1 个答案:

答案 0 :(得分:1)

有很多方法可以做到这一点,最好的方法取决于您的技能,偏好和能力。

首先想到的是反向代理,请记住,如果您的应用可以控制谁可以访问它,通常这样做会更好。因此,包装程序或过滤器检查谁在访问将有所帮助。但是即使这样,过滤器还是要放在主应用程序还是模块上?那是需要您做出的评估。

您还可以将代理策略与过滤器结合起来,以防万一有一天您正在调整代理并让某些内容通过。您也可以决定更改代理服务器。

或者您的公司已经有一个代理,该代理可以使流量流出,并且如果该代理具有访问权限,将会更容易...

您所包含的servlet也许也可以提供这样的控制,因此您实际上不需要代理。

尽管如果我在应用程序层本身中拥有这种功能,例如组件的包装器,并且该包装器在入口点中提供服务,过滤器甚至方法,我会感到更加自在。其他只是多余的,以减少负载。

一些公司的网络设备位于网络堆栈的多个层次上,这些公司也有很大的潜力在这里提供帮助,IDS能够提供警报,触发器等。 从目前的角度来看,即使您使用“确保”一词,也需要更多信息来帮助您(该保证需要走多远,例如您是否在考虑密码,证书,IDS或上述简单方法? ),但我想涵盖了它。