gpt4 book ai didi

load-balancing - HaProxy ProxyProtocol 和 Varnish 没有响应

转载 作者:行者123 更新时间:2023-12-03 17:46:12 24 4
gpt4 key购买 nike

我有一个接受代理连接的 HaProxy

frontend f1
bind *:443 accept-proxy
default_backend http_varnish
而且,在同样的情况下,我有 Varnish
backend http_varnish
mode http
balance roundrobin
server varnish *:6081 check
问题是 Varnish 没有响应并且超时。
我尝试用 Varnish 打开另一个端口
#varnish
..... -a :6088,PROXY -T .......
我不明白为什么,如果作为后端我直接向 apache 发送请求,它可以正常工作,而 varnish 没有响应。
显然,如果我删除了接受代理,并且不使用代理协议(protocol), Varnish 就可以正常工作。

最佳答案

您配置 HAProxy 的方式允许传入连接使用 PROXY 协议(protocol)。
您需要做的是配置 HAProxy 以通过 PROXY 协议(protocol)连接到后端。
只需添加 send-proxy-v2到您的服务器定义,如下图所示:

backend http_varnish
mode http
balance roundrobin
server varnish 192.168.1.100:6088 check send-proxy-v2
您还必须更新 Varnish 所在的端点。在这种情况下,我把它变成了 192.168.1.100:6088 .请相应地解决此问题并确保使用正确的主机名和端口。
一旦你成功地做到了这一点,你就可以开始受益于 Varnish 中的代理意识。 vmod_proxy Varnish 中的模块允许您获取有关客户端连接的信息。见 http://varnish-cache.org/docs/6.0/reference/vmod_generated.html#vmod-proxy
最后,您可以检查是否通过 TLS 建立了连接,如下图所示:
sub vcl_recv {
if(proxy.is_ssl()) {
//Do stuff
} else {
//Do other stuff
}
}
X-Forwarded-For header 还将包含原始客户端的 IP。
长话短说:很多好处。

关于load-balancing - HaProxy ProxyProtocol 和 Varnish 没有响应,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/67210932/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com