2012-03-20 3 views
2

우리는 Jenkins 앞에서 Apache를 사용하고 있습니다. Jenkins의 Ajax 호출에는 왕복에서 생존해야하는 n 헤더가 포함됩니다. 포트 8080에서 Jenkins에 액세스하면 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) 

이 아파치가 반환하는 것입니다 :

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에 다시 적절한 헤더를 통과하지 밝혀합니다. 그것이 내가 지금 해결할 수 있었던 방법입니다. 여전히 원래의 질문은 적합합니다. 아파치를 사용하여 끝내는 방법이 있습니까?

+0

헤더의 모양은 무엇입니까? mod_proxy는 (내가 아는 한) 문법적으로 깨진 헤더만을 버려야한다. –

답변

0

나는 결국 Nginx로 옮겼다. Nginx는 헤더를 제거하지 않았습니다. 여전히 아파치가 n 헤더를 남겨 둘 수 없다는 것은 이상하게 남습니다.

1

아파치에서이 문제를 해결할 수있는 방법을 찾았습니다.

가 알렉스에 의해 만들어진 기본적으로

  1. 실행 내 젠킨스 (https://issues.jenkins-ci.org/browse/JENKINS-327 참조)에 "http : // localhost를 : 8080/젠킨스"나는 그것을 액세스 할

  2. via jenkins.mydomain.com.

는 지금은 아파치가 perfact하지, jenkins.mydomain.com/jenkins에 저를 리디렉션하지만 적어도 작동합니다 jenkins.mydomain.com에 액세스 할 때.

<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> 
관련 문제