首页 > 解决方案 > 清漆 503 但 Apache 响应为 200 OK

问题描述

Apache2 有这个日志:

127.0.0.1 - - [18/Aug/2021:19:17:10 +0200] "GET /index.php?id_product=35&controller=product HTTP/1.1" 200 87103 "https://DOMINIO.it/catalog/products/359" "Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/91.0.4472.164 Safari/537.36"

但是清漆响应是 503。

我在所有 Prestashop 前端页面和某些管理页面上都有此错误,带有 phpinfo.php 或静态 html 的测试页面可以正常工作。

我做这个设置:default.vcl

backend default {
    .host = "127.0.0.1";
    .port = "8080";
    .first_byte_timeout = 600s;
    .connect_timeout = 600s;
    .between_bytes_timeout = 600s;
}

在启动服务中:

DAEMON_OPTS="-a :80 \
             -a 127.0.0.1:8443,proxy \
             -T localhost:6082 \
             -f /etc/varnish/default.vcl \
             -S /etc/varnish/secret \
             -p thread_pools=2 \
             -p thread_pool_max=600 \
             -p listen_depth=1024 \
             -p lru_interval=900 \
             -p connect_timeout=600 \
             -p max_restarts=6 \
             -s malloc,1G"

有人可以帮助我吗?

标签: varnishvarnish-vcl

解决方案


请附上varnishlog这些请求的一些输出。

这是您需要的命令:

varnishlog -g request -q "ReqUrl eq '/catalog/products/359'"

我的假设是请求 URL 是/catalog/products/359. varnishlog如果 URL 不正确,请更改命令中的 URL。

还请分享varnishstat问题发生时的一些输出。这是您需要的命令:

varnishstat -1

此命令将转储当前计数器。统计数据和日志可能会公开一些有趣的事情。


推荐阅读