我们在Jenkins面前使用Apache。 Jenkins的Ajax调用包括n
标题,显然需要在往返中幸存。如果我们在端口8080上访问Jenkins,那么响应中包含n
标题 ,如果我们通过mod_proxy访问它,n
标题将被剥离。
我尝试使用mod_headers来保留此标头,但由于某些原因无效。有没有其他方法可以强制mod_proxy单独留下这个标题?
修改1:
这是Jenkins返回的回复。
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 :(得分:1)
我找到了一种在apache下解决这个问题的方法。
它是由alex创建的(见https://issues.jenkins-ci.org/browse/JENKINS-327)
基本上
我的jenkins在“http:// localhost:8080 / jenkins”中运行
我想通过jenkins.mydomain.com访问它。
现在,当我访问jenkins.mydomain.com时,apache会将我重定向到jenkins.mydomain.com/jenkins,而不是完整但至少可行。
<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>
答案 1 :(得分:0)
我最终搬到了Nginx。 Nginx没有删除标题。但是,你仍然不能让Apache单独留下n
标题。