2013-09-25 38 views
3

我使用mod_jkapache http server轉發我的請求到兩個tomcats,哪些啓動並運行得很好。HTTP響應頭沒有與Apache-tomcat連接使用mod_jk

我正在使用Chrome瀏覽器插件(Advanced Rest Client)來測試此功能。當我向tomcat(端口8080)發出直接請求時,我在chrome插件中獲得響應頭。但是,當我使用apache(端口80)時,我得到了正確的響應,但HTTP響應標頭爲空。

我試圖在Apache幫助中搜索這個,但找不到任何有用的東西。

如果您需要更多信息,請讓我知道。

+0

mod_jk的不使用HTTP協議來跟Tomcat服務器的數據。只有會話cookie會以這種方式傳回。此外,Apache的http配置扮演着重要的角色。您可以在mod_headers的響應中禁止/取消設置http標頭。也許你可以發佈更多的信息? – mwhs

+0

您使用的是哪個版本的'apache','tomcat'?在此發佈您的配置設置以尋求幫助。 'mod_jk'已經過時了,你試過用'mod_proxy_ajp'替換它嗎? – Litmus

回答

0

除非給出更多解釋,否則很難找出根本原因。 請提供您的workers.properties,httpd.conf的內容。

僅供參考,請訪問這link爲腳踏實地解釋工作!

0

「我得到了正確的響應,但HTTP響應標頭爲空。」 < - 這句話是不合邏輯的,有點令人困惑,因爲如果你錯過了響應頭,那麼答案絕不會是「適當的」。但我會假設你是在說你收到一個正確的響應主體(即HTML)。由於很難判斷你的意思是狀態行(響應的第一行,即:HTTP/1.1 200 OK)還是其他標題字段或兩者都很難判斷,你仍然對你的意思是什麼感到困惑。

從狀態行開始,我將假設實際存在,因爲如果它不是您的瀏覽器,幾乎肯定會拋出一個錯誤,而不是顯示您的頁面(我認爲您的意思是「正確的迴應「)。

現在的其他標題。默認情況下,Apache通常會添加一些與日期和緩存相關的響應標頭。實際上很難將所有這些關閉,所以我傾向於相信您的響應標頭實際上是不是空白在傳輸的數據。

如果我是正確的,那麼你的「問題」最可能的原因不是服務器,而是客戶端,特別是你用來查看標題的插件。我不太瞭解你使用的插件,但想到2種可能性:

1.)Apache正在返回一個插件無法解析的標頭。對於Apache來說,發送無效頭是一件非常罕見的事情,所以錯誤可能是客戶端解析器。

2.)您的Apache選項迫使no-cache和/或no-store緩存控制,這會導致文檔在插件讀取之前過期並被刪除。

在你的位置,我會嘗試以下的一種或多種:

1)嘗試使用其他瀏覽器和/或標題顯示擴展。我使用FF「Live HTTP Headers」擴展。

2)嘗試嗅探「上了線」使用像WireShark的工具,看看服務器其實發送

+0

感謝您的回答。其實這與我目前的問題類似,所以我開始賞金。 在我的情況下,標題不是空白。只是一些自定義標題丟失,最後修改的標題日期如下改變。 「Last-Modified:Thu,01 Jan 1970 00:00:00」 但是在我的本地它運行良好。 – XenoN

+0

@XenoN:你有沒有找到解決這個問題的方法?我也面臨同樣的問題。 –