2012-03-20 2 views
2

私たちはJenkinsの前でApacheを使用しています。 JenkinsのAjaxコールには、明らかに往復で生き残る必要があるnヘッダーが含まれています。私たちがポート8080でJenkinsにアクセスした場合、nヘッダーは応答に含まれ、です。mod_proxyを通じてアクセスすると、nヘッダーが削除されています。いくつかのレスポンスヘッダを保持するためにmod_proxyを強制します

私はこのヘッダを保存するためにmod_headersを使ってみましたが、何らかの理由でそれが動作しませんでした。 mod_proxyにこのヘッダだけを残すことができる他の方法はありますか?

編集1:

これは、ジェンキンスによって返されたばかり応答です。

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:

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が戻っているものです

それはnginxのが戻って適切なヘッダを渡すんが判明しました。それが今私がそれを解決することができた方法です。それでも、元の質問は関連しています。Apacheを使用してそれを行う方法はありますか?

+0

ヘッダーの外観は? mod_proxyは(私が知る限り)文法的に壊れているヘッダだけを投げるべきです。 –

答えて

0

私は結局Nginxに移動しました。 Nginxはヘッダーを取り除かなかった。それでも、Apacheにnヘッダーだけを残すことはできません。

1

Apacheでこの問題を回避する方法が見つかりました。

それはアレックスによって作成された基本的に

  1. で実行している私のジェンキンス(https://issues.jenkins-ci.org/browse/JENKINS-327参照) "にhttp:// localhost:8080 /ジェンキンス" 私はそれにアクセスしたい

  2. via 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> 
関連する問題