最近在API接口上使用了SSL,访问签名用到了Url,后面发现服务器端与客户端签名一直对不上,PHP框架使用了Yii2,追朔源码,它是这么判断是否https连接的:
public function getIsSecureConnection()
{
return isset($_SERVER['HTTPS']) && (strcasecmp($_SERVER['HTTPS'], 'on') === 0 || $_SERVER['HTTPS'] == 1)
|| isset($_SERVER['HTTP_X_FORWARDED_PROTO']) && strcasecmp($_SERVER['HTTP_X_FORWARDED_PROTO'], 'https') === 0;
}
fastcgi_pass 127.0.0.1:9001;
fastcgi_index index.php;
include fcgi.conf;
<span style="color:#ff0000;">fastcgi_param HTTPS on;</span>问题解决,打印$_SERVER['HTTPS']=on了!
457

被折叠的 条评论
为什么被折叠?



