php 判断是否为https
在网上看了很多判断https的方法都是千篇一律,
主要是从$_SERVER
去判断
参考链接:
https://blog.csdn.net/river13...
https://segmentfault.com/q/10...
但是现在nginx做了反向代理$_SERVER
里没有如下参数:
HTTPS
HTTP_X_FORWARDED_PROTO
HTTP_FRONT_END_HTTPS
甚至连SERVER_PORT都不是443
该如何判断https呢?
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(3)
这些需要在nginx加header,php收到的都是上游过来的。nginx不给你,php拿不到这些东西
你的https是在php里实现的还是在nginx里实现的?
在nginx加一个配置
proxy_set_header X-Forwarded-Proto $scheme;
将前端使用的协议发到后端,你后端可以根据这个请求头判断了。