2009-01-28 52 views
0

我一直在嘗試在Glassfish上大展拳腳,而一件不斷出現的事情就是Glassfish和Apache之間的「如何做」。不幸的是,我還沒有找到你爲什麼要這樣做的描述!爲什麼使用Apache做一些前端Glassfish的設置?

從我的實驗中,Glassfish看起來像一個非常全功能的Web服務器類型的服務;但我可能會錯過很多。因此,前端Glassfish更多的是將其與現有架構集成的解決方案,還是前端(在純Java環境中)提供額外優勢?

回答

2

它通常用於加快速度。由於apache是​​一個速度非常快的Web服務器,它用於傳遞靜態內容。像圖片,CSS文件等。 Glassfish在這種情況下提供動態內容(servlet,JSP)。

+0

Glassfish的靜態性能與Apache相當,因此額外的層次只會減慢速度。 – Kdeveloper 2010-04-28 22:16:19

3

另外還有一個有效的用例,就是爲什麼我們用Apache來面向Glassfish。在這個例子中,Apache可以作爲反向代理來提高Glassfish的安全性。 RP配置爲只允許將某些URL傳遞給應用程序服務器。例如,您可能會在Glassfish中部署應用上下文/ myApp和/ myPrivApp。在RP服務器中,您只配置/ myApp以傳遞給Glassfish。任何請求/ myPrivApp的人都會看到404'cos,請求在RP級別停止。

在我的一個部署中,我部署了一堆WAR,其中一些用於來自Internet的用戶,一些用於Intranet。我有兩個RP正在運行,一個用於Internet用戶,另一個用於Intranet。我將互聯網RP配置爲只允許經過批准的Internet應用程序的URL通過,而Intranet用戶可以看到所有內容。

希望有所幫助。

0

另一個原因是玻璃魚不能在80端口上運行(很容易),當然不會給它根權。 因此,對於大多數用戶來說,在apache前面運行一個代理(apache,nginx,varnish)是很容易的,並且兩個服務器都可以在普通用戶的情況下運行。

然後,您還可以從前端的某些配置選項中獲得其他優勢。像其他人提到的那樣,例如緩存。

相關問題