清漆前的HAProxy没有设置X-FORWARDED-FOR

直到最后几天,我们有以下架构:HAProxy – > 2后端服务器

现在我们有:HAProxy – > Varnish – > 2后端服务器

之前,HAProxy每次都正确设置“X-FORWARDED-FOR”标题。 但是,现在只是有时会设置标题。

有时我的意思是:我向PHP脚本发出一个请求,打印$ _SERVER的内容(包含讨论中的头文件)。

无论我多less次提出请求,HAProxy都不会设置标题。 但是,如果我向我的脚本发出请求,然后很快(请求结束前)我刷新(所以基本上我做了2个同时请求),头正在设置。

有人绊倒了这个非常奇怪的问题,可以指出我的方向吗?

注意:将清漆放在HAProxy的前面不是一个选项。

你很可能忘了在你的haproxyconfiguration中使用“选项http-server-close”。 之所以这样,是因为你的后端服务器在默认情况下不启用keep-alive。