使用 stunnel Haproxy Nginx 将 _SERVER["HTTPS"] 设置为 yes

使用 stunnel Haproxy Nginx 将 _SERVER["HTTPS"] 设置为 yes

我正在尝试在我的 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 }

相关内容