在haproxy卸载ssl环境中检查请求是否为ssl


check if request is ssl in an haproxy offload ssl environment

我有一个在haproxy前面带有ssl卸载的pound服务器。

如果我已经卸载了ssl,并且ssl没有到达web服务器,那么如果请求已经使用ssl完成,我如何检查我的php代码?

也许在haproxy中为ssl请求添加一些头标记或其他东西,这样我就可以在代码中检查这个头了?

来自HAProxy和SSL

必须在前端配置中插入以下配置指令。它告诉HAProxy添加一个名为X-SSL的头,其中包含有关前端连接类型的信息:

http-request set-header X-SSL %[ssl_fc]

这应该会显示在$_SERVER['HTTP_X_SSL']中。

我提出的解决方案是在Pound配置中添加标头,并在代码中检查此标头:

AddHeader "X-Pound: SSL"