thinkphp5.0 https 判断

浏览:6611 发布日期:2016/05/27 分类:ThinkPHP5专区 关键字: https
/**
* 判断是否SSL协议
* @return boolean
*/
public static function isSsl()
{
if (isset($_SERVER['HTTPS']) && ('1' == $_SERVER['HTTPS'] || 'on' == strtolower($_SERVER['HTTPS']))) {
return true;
} elseif (isset($_SERVER['SERVER_PORT']) && ('443' == $_SERVER['SERVER_PORT'])) {
return true;
}
return false;
}

因为我的服务器是 前 nginx 后 apache ,所以这样判断的不是 https

于是我在nginx加了

proxy_set_header X-Forwarded-Proto $scheme;

然后在函数加了

elseif (isset($_SERVER['HTTP_X_FORWARDED_PROTO']) && ('https' == $_SERVER['HTTP_X_FORWARDED_PROTO'])){
return true;
}
就可以了。不知道合理不合理
最佳答案
评论() 相关
后面还有条评论,点击查看>>