运行时出现此错误:
varnishlog -b -q ‘获取错误’
- ObjHeader X-Frame-Options: SAMEORIGIN
- ObjHeader Vary: Accept-Encoding
- ObjHeader Content-Type: text/html; charset=UTF-8
- ObjHeader Content-Language: uk
- ObjHeader Content-Encoding: gzip
- Fetch_Body 4 eof -
- Gzip Gunzip error: -3 (invalid code lengths set)
- FetchError Invalid Gzip data: invalid code lengths set
- Gzip G F E 0 20 80 80 90
- Gzip U F - 6212 24576 80 0 0
- BackendClose 23 2bd71e1f-2123-45a8-947a-54f4cd2ae90b.default
- Timestamp Error: 1501073397.946314 0.353247 0.000348
- BerespProtocol HTTP/1.1
- BerespStatus 503
- BerespReason Service Unavailable
- BerespReason Backend fetch failed
- BerespHeader Date: Wed, 26 Jul 2017 12:49:57 GMT
- BerespHeader Server: Varnish
- VCL_call BACKEND_ERROR
- BerespHeader Content-Type: text/html; charset=utf-8
- BerespHeader Retry-After: 5
- VCL_return deliver
- Storage malloc Transient
- ObjProtocol HTTP/1.1
- ObjStatus 503
- ObjReason Backend fetch failed
- ObjHeader Date: Wed, 26 Jul 2017 12:49:57 GMT
- ObjHeader Server: Varnish
- ObjHeader Content-Type: text/html; charset=utf-8
- ObjHeader Retry-After: 5
- Length 284
- BereqAcct 1246 0 1246 1063 0 1063
- End
我有 nginx -> varnish -> apache2
当网站尝试通过 curl 从另一台服务器检索内容并将其显示为自己的页面时,就会发生错误 - 这种情况会发生在 apache 中,并且会因上述错误而失败很多次。该网站正在运行 wordpress,问题似乎是由 unbounce 插件引起的 - 同一服务器上的其他网站似乎管理正常。
任何想法都非常感谢
答案1
我已经关闭了 apache 上的 mod_deflate,这似乎有所帮助 - 我认为我们从 unbounce 中得到了一些错误,这弄乱了 gzipping - 让 Varnish 处理这个问题似乎可以解决这个问题。