为什么有些人使用Apache设置前端Glassfish?

时间:2009-01-28 21:35:46

标签: apache glassfish

我一直试图在Glassfish上挣扎,而且不断出现的一件事就是使用Apache面向Glassfish的“操作方法”。不幸的是,我还没有找到你为什么要这样做的描述!

从我的实验中,Glassfish看起来像一个功能齐全的Web服务器类型的服务;但我可能会错过很多。那么,前端Glassfish的概念更多是将其与现有架构集成的解决方案,还是前端(在纯Java环境中)提供了额外的好处?

4 个答案:

答案 0 :(得分:3)

还有另一个有效的用例,说明为什么我们将Glassfish与Apache一起使用。此实例中的Apache将充当反向代理,以提高Glassfish的安全性。 RP配置为仅允许将某些URL传递到应用程序服务器。例如,您可能在Glassfish中部署了app contexts / myApp和/ myPrivApp。在RP服务器中,您只需将/ myApp配置为传递给Glassfish。请求/ myPrivApp的任何人都会看到404'cos请求在RP级别停止。

在我的一个部署中,我部署了一堆WAR,一些用于来自互联网的用户,一些仅用于内部网。我有2个RP运行,一个用于Internet用户,另一个用于Intranet。我将Internet RP配置为仅允许已批准的Internet应用程序的URL通过,而Intranet用户可以查看所有内容。

希望有所帮助。

答案 1 :(得分:2)

它通常用于加快速度。由于apache是​​一个非常快速的Web服务器,因此它用于传递静态内容。像图像,CSS文件等。 Glassfish在这种情况下提供动态内容(servlet,JSP)。

答案 2 :(得分:2)

使用Apache作为Glassfish前端的另一个原因是可以在Glassfish集群中提供负载平衡。有关详细信息,请参阅http://tiainen.sertik.net/2011/03/load-balancing-with-glassfish-31-and.html

答案 3 :(得分:0)

另一个原因是,玻璃鱼不能(很容易)在80号港口运行,当然没有赋予它根权利。 因此,对于大多数用户来说,在apache之前运行代理(apache,nginx,varnish)更容易,并且两个服务器都在普通用户下运行。

然后,您还可以获得前端的一些配置选项。像其他提到的那样,例如缓存。