2012-03-20 55 views
2

我們在Jenkins面前使用Apache。詹金斯的阿賈克斯呼叫包括一個n頭部,顯然需要在往返中生存。如果我們在8080端口訪問詹金斯,那麼n包含在響應中,如果我們通過mod_proxy的訪問中,n頭越來越剝離。強制mod_proxy保留一些響應頭

我試圖mod_headers中使用保存這個頭,但由於某種原因不能正常工作。有沒有其他方法可以強制mod_proxy離開這個標題?

編輯1:

這是詹金斯得到返回的響應。

HTTP/1.1 200 OK 
Server: Winstone Servlet Engine v0.9.10 
Content-Type: text/html;charset=UTF-8 
n: 131 
Connection: Close 
Date: Tue, 20 Mar 2012 09:53:42 GMT 
X-Powered-By: Servlet/2.5 (Winstone/0.9.10) 

這是Apache正在返回:

Connection:close 
Content-Encoding:gzip 
Content-Type:text/html;charset=UTF-8 
Date:Tue, 20 Mar 2012 10:37:21 GMT 
Transfer-Encoding:chunked 
Vary:Accept-Encoding 

編輯2:

原來的Nginx 確實通過相應的頭回來。這是我現在設法解決它的方式。仍然原來的問題是相關的:有沒有辦法使用Apache來完成它?

+0

標題是什麼樣的? mod_proxy應該(據我所知)只能扔掉語法上破碎的標題。 – 2012-03-20 10:22:09

回答

0

我最終轉移到Nginx的。 Nginx沒有去掉頭文件。不過,仍然奇怪的是,你無法讓Apache離開n標題。

1

我在apache下找到了解決這個問題的方法。

(見https://issues.jenkins-ci.org/browse/JENKINS-327

基本上

  1. 在運行我的詹金斯它是由亞歷克斯建立的 「http://本地主機:8080 /詹金斯」

  2. 我想訪問通過jenkins.mydomain.com。

現在,當我訪問jenkins.mydomain.com Apache將我重定向到jenkins.mydomain.com/jenkins,不perfact但至少工作。

<VirtualHost *:80> 
ServerName jenkins.mydomain.com 
Redirect/http://jenkins.mydomain.com/jenkins 
<Location /jenkins> 
    ProxyPass http://localhost:8080/jenkins 
    ProxyPassReverse http://localhost:8080/jenkins 
</Location> 
</VirtualHost>