标题:
[求助]
如何在PHP中判断当前请求是否HTTPS?
[打印本页]
作者:
slowhand
时间:
2017-9-6 17:53
标题:
如何在PHP中判断当前请求是否HTTPS?
使用的版本的3.2.12,N+A的方式。
设置https和http访问都可用,如何在php中判断当前请求是否https?
使用$_SERVER["HTTPS"]都返回空;使用$_SERVER["REQUEST_SCHEME"]都返回http。
期间也查了些资料,如 http://blog.csdn.net/gdali/article/details/72817265 上面说的修改设置,改了没有效果。
请问,如何才能在php中判断当前请求是否https?
如果有相关的参考资料,请发个链接。
作者:
dnf008
时间:
2017-9-8 11:24
NGINX站点conf配置文件 修改后 需要点其他站编辑然后保存 不然配置文件不生效
为这个问题我搞乐两天才发现 修改后需要想办法让他重新加载才行
作者:
slowhand
时间:
2017-9-8 17:26
感谢楼上帮助!
这几天手动配置了二级域名的HTTPS。二级域名的conf文件修改后,系统管理-服务重启-重启web服务后有效。
但是一直没有实现在PHP中判断HTTPS。不知道是我对相关的配置项理解不对,还是写法不对,改了后配置再重启web'服务,还是没有效果。
作者:
slowhand
时间:
2017-9-8 18:06
问题解决了。
NGINX站点conf配置文件中,在443的那一段里加上:
location ~ \.php$ {
proxy_pass http://127.0.0.1:88;
include naproxy.conf;
proxy_set_header X-Forwarded-Proto https;
}
location ~ /\.ht {
deny all;
}
location / {
try_files $uri @apache;
}
location @apache {
internal;
proxy_pass http://127.0.0.1:88;
include naproxy.conf;
proxy_set_header X-Forwarded-Proto https;
}
复制代码
PHP中使用$_SERVER['HTTP_X_FORWARDED_PROTO']判断就可以了。
注意几点:
1. 访问php文件和文件目录都要加。
2. 修改完,系统管理-服务重启-重启web服务。
3. 注意浏览器缓存。
另,怎么把标题改为已解决?帖子无法再次编辑。
欢迎光临 WDlinux官方论坛 (http://wdlinux.cn/bbs/)
Powered by Discuz! 7.2