nginx 反向代理 WHM 中的 Varnish 缓存

nginx 反向代理 WHM 中的 Varnish 缓存

我们的生产服务器安装了最新的 cpanel 版本“96.0 (build 8)”,并且运行启用了反向代理的 nginx。有关详细信息,请参阅随附的 netstat 屏幕截图。此服务器当前处于生产状态,我们正在运行两个主要网站,一个是 magento2,另一个是 wordpress。为了提高 magento 网站的性能,我们已经开始对 magento 2 暂存区进行研发,并启用了 varnish 缓存。

在此处输入图片描述

我们的计划是使用 varnish 缓存实现 magento2,并且我们已经安装了它并相应地配置了 magento。Varnish default.vcl 配置按照 magento2 标准完成。在实现该方案并测试后,varnish 标头不存在。有人在 nginx 反向代理 cpanel 服务器中启用了 varnish 吗?

在此处输入图片描述

答案1

根据netstat输出,我可以看到打开了 2 个监听端口varnishd

  • 港口8443
  • 港口6081

这些是通过-a运行时参数配置的。

这种设置很常见,通常是指HTTP监听端口和代理人监听端口。

端口 6081

端口6081通常是HTTP端口,即使它是使用非标准端口号配置的。

在运行时参数方面通常配置如下:

-a :6081

或者有时甚至是如下形式:

-a :6081,HTTP

在这种情况下,Varnish 可能位于 Nginx 代理后面。

对于标准HTTP之后,Nginx 就需要通过代理到 Varnish 的端口了6081

端口 8443

端口8443通常配置为使用PROXY 协议

条件是位于 Varnish 前面的节点实际上使用 PROXY。

就运行时参数而言,它看起来像这样:

-a :8443,PROXY

如果我没记错的话,Nginx 的开源版本不支持使用 PROXY 协议反向代理到另一个节点。

使用正确的端口

根据netstat输出,Nginx 监听端口44380,即HTTPSHTTP

httpd服务(即 Apache)在444HTTPS 和81HTTP 端口上运行。

目标是将 HTTP 和 HTTPS 流量从 Nginx 路由到 Varnish,再从 Varnish 路由到 Apache。

这是链条:

HTTPS -> NGINX (port 443)  --> Varnish (port 6081) --> Apache (port 81)
                               ^
                               | 
HTTP  -> NGINX (port 80)   ----+

Magento Varnish 的配置

在您的屏幕截图中,您使用端口8443作为后端端口。这是不正确的。Apache 正在监听端口上的81HTTP 流量,该端口应该是您的后端端口。

相关内容