我在kubernetes中使用的traefik(1.3.5)经历了非常奇怪的行为(用作入口(与稳定图表部署))。
我在清漆服务器后面有一个PHP端点,当我直接卷曲时,它在没有任何特殊技巧的情况下返回404。
$ 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标头(或与 - 压缩)卷曲时,我有一个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
<
如果我直接在清漆上或通过亚马逊ELB进行相同的测试,我没有问题,并且始终得到404 ...
我注意到Traefik正在重新添加Vary: Accept-Encoding
标头。
我还注意到十几个 server.go:2753: http: multiple response.WriteHeader calls
日志消息。
你们中的任何人都已经得到了这种奇怪的行为吗?有任何线索如何调查?
预先感谢
好吧,这是一个已知的问题https://github.com/containous/containous/traefik/pull/1948,将以1.4.0
运送m。