2012-04-20 240 views
1

我被分配來實現(或更好的配置)一種http代理服務器。服務器應該支持這樣的過程描述如下:代理服務器配置

-A用戶打開他的瀏覽器的URL,其具有以下結構:HTTP://:/ RESOURCE_NAME

-proxy服務器的URL驗證資源名稱傳入的http請求並確定它應該將來自客戶端的原始請求轉發到的網絡資源的URL到

-代理服務器轉發原始請求,等待直到它從外部web服務器獲得答案,並且將其張貼回給用戶

我正在使用java,但我不喜歡通過使用套接字來實現代理服務器。相反,我想使用一個Apache的HTTP服務器。有誰知道它是否有可能在配置級上使用apache http服務器完成這樣的任務?如果是這樣,怎麼樣?

非常感謝您的回答!

+0

在Apache中做到這一點你想要做什麼URL驗證?是否可以放入Apache配置中(例如,哪些URL有效)?另外,如果apache將不正確的請求代理到應用程序服務器,它將會返回類似於404或500的內容,並且可以將其返回給用戶 - 這是否覆蓋了您的需求,或者您是否需要先捕獲不正確的URL它到達應用程序服務器? – 2012-04-20 11:51:45

+0

驗證可能不是正確的術語。我想在這裏做的是隱藏我的代理服務器後面的用戶的外部Web資源。用戶應該可以通過以下方式從我的代理請求資源:http:// my-proxy/resource_name,我的代理應該將此url映射到像http:// real-resource-provider/resource_name這樣的url中,make a請求網絡上的真實提供商並將實際提供商的響應返回給用戶。如果真正的資源提供者返回類似404的HTTP錯誤代碼,則代理應該將其重新傳輸給用戶。 – 2012-04-20 12:03:03

回答

1

Apache不是用java編寫的。你的機會很好,TomcatJetty

您將需要使用Servlet攔截所有請求來實現Web應用程序,然後處理Servlet中的所有自定義邏輯。

+0

「Apache不是用java寫的」 好吧,這不是問題。服務器使用的技術沒有限制。 「您需要使用Servlet攔截所有請求,然後處理Servlet中的所有自定義邏輯。」 那麼,你認爲在apache這樣的http服務器的配置級別上解決問題是不可能的? – 2012-04-20 11:37:38

+0

絕對不是不可能的,不知道他想在那裏做些什麼有趣的事情。我希望你甚至可以用魷魚來做所有這些。 – 2012-04-20 11:39:10