nginx - Nginx产生的414错误变成了Varnish的503错误

标签 nginx varnish

目前,我有Nginx在Varnish后面运行。有时,用户会发送非常长的虚假URI,这些URI会转换为Nginx 414。不幸的是,当将这些414提供给Varnish时,又将它们变成503,然后将其返回给用户。这非常令人沮丧,我更喜欢返回414来代替,因为我们监控503s并认为这些异常。让Varnish保存Nginx的414s,我该怎么办?

最佳答案

503响应在这种情况下是正确的,因为由于414,Varnish无法连接后端(在本例中为Ngnix)。
由于未发生连接,Varnish将向客户端返回503。
您可以将来自nginx的414响应保存在Varnish header 中并进行监视。

sub vcl_backend_error {
    if(beresp.status == 414) {
      'set the header here'
    }
}

可以在sub vcl_deliver中应用相同的逻辑。

关于nginx - Nginx产生的414错误变成了Varnish的503错误,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/34563428/

相关文章:

nginx - 如何使用 vagrant docker 提供程序查看 Nginx 默认页面?

php - Varnish 不会缓存多个 wordpress

php - 如何根据 cookie 值制作单独的缓存页面?

nginx - Varnish /Nginx : initial connection after idle for ~5 seconds

ruby-on-rails - 部署后我看到标准 nginx 的 "It works!"

php - 从 nginx 向 auth_request 模块传递参数

memory - Tomcat6不断崩溃

nginx - 如何使用nginx.conf文件在本地主机端口80上放置多个网站?

session - Varnish 是否处理用户 Web session

php - Varnish 缓存+ PHP