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
ログメッセージに気づいた。
誰かが既にその変な振る舞いをしていますか? 調査する手がかりはありますか?事前