我們有一個在weblogic應用服務器上運行的Web應用程序(JQuery和Spring)。應用服務器前面有一個apache http服務器。 所有傳入的請求將通過Web服務器到達應用程序服務器。驗證基於Apache HTTP服務器中的請求標頭的傳入請求
現在我們有一個要求,我們必須驗證傳入http請求頭中的值,如果存在,請求必須發送到應用服務器。如果沒有,我們會阻止請求,並向最終用戶顯示一個靜態錯誤頁面。
我想知道我們是否可以在apache http服務器中實現這個邏輯。請指教。
我們有一個在weblogic應用服務器上運行的Web應用程序(JQuery和Spring)。應用服務器前面有一個apache http服務器。 所有傳入的請求將通過Web服務器到達應用程序服務器。驗證基於Apache HTTP服務器中的請求標頭的傳入請求
現在我們有一個要求,我們必須驗證傳入http請求頭中的值,如果存在,請求必須發送到應用服務器。如果沒有,我們會阻止請求,並向最終用戶顯示一個靜態錯誤頁面。
我想知道我們是否可以在apache http服務器中實現這個邏輯。請指教。
你可以用mod_rewrite來做到這一點。你沒有包括你確切的設置,但是如果你有一個mod_proxy類型的配置,你只是想確保重寫不會干擾正常流量的通過。在一般意義上,在你的Apache配置,您可以:
爲了讓一個真正的一個簡單的例子,如果你在查詢字符串中尋找一個鍵,並且禁止訪問(403),如果它不存在,你會這樣做:
RewriteEngine On
RewriteBase/
RewriteCond %{QUERY_STRING} !somekey
RewriteRule ^.*$ - [F,L]
這可以像你真正想要的那樣複雜,你可以將條件連在一起(隱式AND或顯式或witht他[OR]標誌),你可以提供實際的頁面而不是禁止的消息。
與往常一樣,在修補前備份你的配置文件,使用.htaccess測試它可能是一個好主意(儘管出於性能考慮,最好將它移動到生產負載的實際配置中)。
重寫文件是一個很好的資源太:
http://httpd.apache.org/docs/current/mod/mod_rewrite.html
這真的是相當不錯的文檔。對於一些指針 - 你需要查看標誌([L] = last; [P] =視爲代理請求; [F] =禁止等),你需要一個熟悉正則表達式語法的人
請閱讀我們的常見問題,http://webmasters.stackexchange.com/faq瞭解更多關於哪些問題適合我們的網站。這是一個很好的問題,它只屬於Stack Overflow。 –