我发现要在varish中接受PROXY协议连接,我所需要做的就是运行带有额外-a :1234,PROXY
参数的varish。但是,把这些连接发送到上游呢?
如果我有以下基础设施:
- TLS -|- VARNISH -|- NGINX - PHP
| |- ...
- TLS -|- VARNISH -|- NGINX - PHP
我应该如何配置Varnish在Varnish -> Nginx
连接中使用PROXY协议。
如中所述https://varnish-cache.org/docs/6.0/reference/vcl.html#backend-定义,您可以将.proxy_header
属性添加到后端定义,以将PROXY协议转发到您的原始Web服务器。
下面是一个定义示例:
vcl 4.1;
backend default {
.host = "localhost";
.port = "8080";
.proxy_header = 2;
}
这假设Nginx在端口8080
上本地运行,并支持PROXY协议v2。
虽然Nginx支持listen 8080 proxy_protocol;
,但我不确定这是否是他们开源产品的一部分。
上的文档https://docs.nginx.com/nginx/admin-guide/load-balancer/using-proxy-protocol/指的是Nginx Plus。