弄清楚电流Request
是否安全不应该是您的决定。底层Symfony\Component\HttpFoundation\Request
有isSecure
Laravel 内部使用的方法。
public function isSecure()
{
if ($this->isFromTrustedProxy() && $proto = $this->getTrustedValues(self::HEADER_X_FORWARDED_PROTO)) {
return \in_array(strtolower($proto[0]), array('https', 'on', 'ssl', '1'), true);
}
$https = $this->server->get('HTTPS');
return !empty($https) && 'off' !== strtolower($https);
}
因此,如果您的服务器未使用 传递HTTPS
标头On
,则它应该传递X-FORWARDED-PROTO
并且必须由您的TrustProxies
中间件允许。
如果您在反向代理后面,您应该找出您的代理传递 IP - 您可以通过获取$_SERVER['REMOTE_ADDR']
变量并将 IP 设置为TrustProxies
中间件来轻松做到这一点:
/**
* The trusted proxies for this application.
*
* @var array
*/
protected $proxies = [
'123.123.123.123',
];
Laravel (Symfony) 将自动检测它Request
是否安全并相应地选择协议。