Tomcat
如何配置 mod_proxy_ajp 為一個虛擬主機中的不同應用程序賦予不同的權限?
在我的伺服器上,我有兩個 tomcat 應用程序:“隱藏”和“打開”。隱藏的應用程序應僅可用於本地網路192.168.0.0。開放的應用程序應該適用於所有網路。
應用程序在 Tomcat 7.0.6 上執行,請求從 Apache 2.2.17 轉發,帶有 mod_proxy_ajp。所有這些都在 FreeBSD 8.2 伺服器上執行。
Apache Web 伺服器還處理靜態的根網站。沒有配置虛擬主機(只有一台主機)。
到目前為止我還沒有找到任何範例配置,所以我只是嘗試結合兩個簡單的配置:
ProxyRequests Off ProxyPreserveHost On <Proxy /hidden> Order Deny,Allow Deny from all Allow from 192.168 </Proxy> <Proxy /open> Order Deny,Allow Allow from all </Proxy> ProxyPass /hidden ajp://localhost:8009/hidden/ ProxyPassReverse /hidden ajp://localhost:8009/hidden/ ProxyPass /open ajp://localhost:8009/open/ ProxyPassReverse /open ajp://localhost:8009/open/
使用這種配置,兩個應用程序都可以從所有網路訪問。我已經玩過允許/拒絕設置。這對我來說似乎是最合乎邏輯的。
有人知道我的配置有什麼問題嗎?
它是
該
<Proxy>
指令需要一個完整的 URL - 因為您的虛擬主機可能有多個 URL,所以當您將其用作完整代理時,該指令更適合。嘗試將您的指令更改為
<Location>
塊,這應該以您想要的方式應用權限:<Location /hidden> Order Deny,Allow Deny from all Allow from 192.168 </Proxy> <Location /open> Order Deny,Allow Allow from all </Proxy>