Varnish 问题 - 未监听 127.0.0.1 且某些页面返回 404

Varnish 问题 - 未监听 127.0.0.1 且某些页面返回 404

已经运行了 varnish,但只有当我在 default.vcl 中使用服务器的 IP 地址而不是 127.0.0.1 时它才会工作。

backend default {
    .host = "xxx.xxx.xxx.xxx";
    .port = "82"; }

网站上的某些页面也无法正确加载并返回 404 错误。将以下内容添加到 default.vcl 中以不缓存这些部分,但仍然返回 404。/jobs 部分中还有子页面,例如 /jobs/apply/。

 if (req.url ~ "^/jobs") {
    return (pass);
}

if (req.url ~ "^/ajax") {
    return (pass);
}

会话也没有被存储,$_SESSION['test']。

答案1

您提到了 CPanel。默认情况下,CPanel 不会设置 Apache VHost 来监听*:80,而是将它们设置为监听各自的 IP 地址。因此,您并没有访问您认为的 VHost。您可以轻松测试这一点;将一个简单的文本文件放在您的 DocumentRoot 中,您会发现无法通过 Varnish 使用浏览器访问它,但如果禁用 Varnish,URL 栏中的相同地址将成功加载该文件。

相关内容