我正在尝试在我的 Web 服务器上将 _SERVER["HTTPS"] php 变量设置为是。
实际上,https 流量到达 stunnel,然后由 stunnel 将其转发到 haproxy,再由 haproxy 将其转发到在 nginx 下运行的 Web 服务器。
尝试在 haproxy.cfg 中添加此项:
reqidel ^HTTPS:
reqadd HTTPS:\ yes
但是它不会清除 HTTPS 并将 HTTPS 添加到是,而是添加一个新变量:
_SERVER["HTTP_HTTPS"]
任何想法?
问候,
答案1
我怀疑你真的需要X-转发-Proto而是。此标头是一种约定,通过此约定,反向代理可以告诉源服务器连接是 HTTPS,即使反向代理和源服务器之间的连接不是 HTTPS。大多数常见的 Web 应用程序已经检查此标头,您可以在自定义 Web 应用程序中轻松检查它。
reqadd X-Forwarded-Proto:\ https if { ssl_fc }