2017-09-06 4 views
0

kubernetesでtraefik(1.3.5)が使用されている(入力として使用されている(安定したグラフで展開する))非常に奇妙な動作が発生しています。Traefikはhttpステータスを書き換えていますか?

私は特殊なトリックなしで直接カールすると404を返すワニスサーバの後ろにPHPエンドポイントがあります。

$ curl -v ingress.../sport/?page=404 
> GET /sport/?page=404 HTTP/1.1 
> Host: varnish.ingress.xxx 
> User-Agent: curl/7.43.0 
> Accept: */* 
> 

< HTTP/1.1 404 Not Found 
< Age: 0 
< Cache-Control: max-age=10, public 
< Content-Type: text/html; charset=UTF-8 
< Date: Wed, 06 Sep 2017 21:19:48 GMT 
< Server: nginx 
< Vary: Accept-Encoding 
< Vary: Accept-Encoding 
< Via: 1.1 varnish-v4 
< X-Cache: MISS 
< X-Powered-By: PHP/7.1.6 
< X-Varnish: 65773 
< Transfer-Encoding: chunked 
< 

...これは正常な動作ですが、私はgzipヘッダ(または--compressed付き)でtraefikを通してそれをカールするとき、私はHTTP 200を持っている:up_side_down:

$ curl -v ...ingress.../sport/?page=404 
> GET /sport/?page=404 HTTP/1.1 
> Host: varnish.ingress.xxx 
> User-Agent: curl/7.43.0 
> Accept: */* 
> Accept-Encoding: gzip 
> 

< HTTP/1.1 200 OK 
< Age: 0 
< Cache-Control: max-age=10, public 
< Content-Encoding: gzip 
< Content-Type: text/html; charset=UTF-8 
< Date: Wed, 06 Sep 2017 21:18:38 GMT 
< Server: nginx 
< Vary: Accept-Encoding 
< Vary: Accept-Encoding 
< Via: 1.1 varnish-v4 
< X-Cache: MISS 
< X-Powered-By: PHP/7.1.6 
< X-Varnish: 197657 
< Transfer-Encoding: chunked 
< 

同じテストをワニスまたはアマゾンエルブで直接行うと、私は問題がなく、常に404を得ます...

私は、traefikがVary: Accept-Encodingヘッダーを再追加していることに気付きました。

また、server.go:2753: http: multiple response.WriteHeader callsログメッセージに気づいた。

誰かが既にその変な振る舞いをしていますか? 調査する手がかりはありますか?事前

答えて

関連する問題