2011-10-07 21 views
0

我們在Tomcat上有一個Web應用程序。該應用程序從專用的Apache HTTPServers訪問內容(機密)。我們不希望未經授權的用戶訪問此內容。即只有通過WebApp(在Tomcat上)進行身份驗證的用戶才能訪問HttpServer內容。 (我們使用HTTPS來保護網絡,但如果有人獲得內容的直接httpserver url,他們可能會下載內容)。使用Tomcat應用程序保護HttpServer上的內容 - 任何想法?

我們正在考慮在Tomcat的同一webapp上託管內容。有任何想法嗎?

回答

0

執行此操作的簡單/懶惰方法是強制每個命中Apache服務器上的HTTP引用程序都是Tomcat服務器的地址。一個頁面:http://www.htaccess-guide.com/deny-visitors-by-referrer/

但是,如果黑客發現這是您的保護方案,那麼黑客就會欺騙HTTP引用者,這相當簡單。

兩個更復雜,但安全的方式,以努力:

  1. 寫JSP頁面或驗證用戶登錄Tomcat服務器上的東西,然後通過HTTP,取過Apache的數據然後將數據輸出回最終用戶。這樣做可以有效地編寫自己的反向代理。然後鎖定Apache服務器,只爲Tomcat服務器的IP地址(以及您希望允許的任何其他授權/內部IP)提供頁面。優點:仍然非常快。缺點:你正在使用tomcat資源來顯示其他服務器的每個頁面,它可能會引入可伸縮性問題,特別是如果Apache服務器提供大量字節(例如,如果apache提供了500兆文件,會耗盡你的tomcat腳本的內存?這取決於你編寫和測試你的JSP頁面的方式!注意!)。如果頁面很小,這可能不是問題。

  2. 在Apache和Tomcat之間實現某種單點登錄。這可能是基於cookie或更奇特的東西(例如使用跟蹤會話的後端驗證服務器)。通過這種方式,Apache會知道請求https://頁面的用戶已被正確認證,否則將拒絕該請求。優點:完全可擴展。缺點:難以建立,許多解決方案都是商業/付費產品。

+0

對不起,遲到的迴應。謝謝(你的)信息。 – pingu