我已经购买了测试 SSL 证书,而我的客户获得了 EV 证书,并且我已经使用 Laravel 5.1 项目设置了它。我已经使用 .htaccess 强制网站一直使用 https://
但有时整个网站会在出现此错误后中断并变得无法使用:
"The operation couldn't be completed. Protocol Error." NSPOSIXErrorDomain:100
其他人在 Laravel 项目中遇到了这个问题,但我一直没能找到稳定的解决方案。
此错误仅在 iOS 和 OSX 下的 Safari 中发生。问题是 Safari 无法仅通过清除浏览缓存和 cookie 来从这个问题中恢复。
我需要这方面的帮助,因为在 iOS 或 OSX 上使用 Safari 几分钟后我就失去了网站上的所有访问者。
谢谢, 安德烈
最佳答案
老实说。由于在处理 laravel 的地方,我不建议在 .htaccess 文件上强制使用 https。 只需创建一个中间件来检查用户是否不在 https 上并重定向他。它会在 laravel 5.1 上运行得更好,我也认为问题会解决。
中间件示例:
class HttpsProtocol
{
public function handle($request, Closure $next)
{
if (!$request->secure()) {
return redirect()->secure($request->getRequestUri());
}
return $next($request);
}
}
希望对您有所帮助。 它对我很有用 :) 祝你好运......
关于php - Laravel SSL 协议(protocol)错误,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/33466679/