Yii2有一个函数可以判断
$secure = Yii::$app->getRequest()->getIsSecureConnection();
$http = $secure ? 'https' : 'http';
/**
* Return if the request is sent via secure channel (https).
* @return bool if the request is sent via secure channel (https)
*/
public function getIsSecureConnection()
{
if (isset($_SERVER['HTTPS']) && (strcasecmp($_SERVER['HTTPS'], 'on') === 0 || $_SERVER['HTTPS'] == 1)) {
return true;
}
foreach ($this->secureProtocolHeaders as $header => $values) {
if (($headerValue = $this->headers->get($header, null)) !== null) {
foreach ($values as $value) {
if (strcasecmp($headerValue, $value) === 0) {
return true;
}
}
}
}
return false;
}