Nginx 反向代理 PHP 项目,php 项目无法通过$_SERVER变量判断 http 协议或者 https 协议,可能是什么问题呢。

Nginx 反向代理 PHP 项目,php 项目无法通过$_SERVER变量判断 http 协议或者 https 协议,可能是什么问题呢。
用户500598139
2023年09月15日
|
浏览 874

可能的原因是您的Nginx配置中没有正确设置代理头信息。当Nginx作为反向代理时,它会将请求发送到后端的PHP项目,并将一些相关的请求头信息传递给后端服务器。要解决这个问题,您需要在Nginx配置中添加以下指令:

复制代码
proxy_set_header X-Forwarded-Proto $scheme;

这将告诉后端PHP项目当前请求所使用的协议(http或https)。然后,您可以使用$_SERVER['HTTP_X_FORWARDED_PROTO']来获取该值。

请确保在您的Nginx配置文件中添加此指令,并重新加载Nginx配置后测试您的PHP项目。

我要提问
复制内容
分享给好友
AI编程问答网 免责声明:
以上内容除特别注明外均来源于网友提问,AI编程问答网回答,权益归原著者所有;
 
上一篇:vue思维导图