为啥出现ERR_SSL_PROTOCOL_ERROR 错误啊?

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了为啥出现ERR_SSL_PROTOCOL_ERROR 错误啊?相关的知识,希望对你有一定的参考价值。

谷歌浏览器是大多数Internet用户最受欢迎和信任的浏览器之一,但是,有时您可能会在在线冲浪时看到SSL错误“此站点无法提供安全的连接– ERR_SSL_PROTOCOL_ERROR ”。刷新页面(F5按钮)可能会解决问题,但是在某些情况下,您可能需要执行更多步骤来解决问题。

谷歌浏览器提示错误

解决方案1:检查日期和时间是否正确

如果您的计算机或移动设备上的日期和时间错误,您的Chrome浏览器可能会显示ERR_SSL_PROTOCOL_ERROR错误。请通过PC设置重新检查并进行调整。

解决方案2:清除浏览数据

有问题的SSL错误可能是由于浏览日期过长而一次又一次出现,您可能必须清除它才能解决此问题。

    打开您的Chrome浏览器;

    按下三个按钮的组合“ CTRL + SHIFT + DELETE”;

    确保设置了“所有时间”范围;

    设置“ Cookie和其他站点数据”;

    设置“缓存的图像和文件”;

    点击“清除数据”按钮;

    清除程序完成后,重试打开有问题的网站。

谷歌浏览器设置

解决方案3:清除SSL缓存

浏览器的SSL缓存可能是一个问题。您必须尝试清除缓存以解决该错误。

    对于IE / Edge。您必须打开Internet属性并找到“内容”选项卡,然后会有一个“清除SSL状态”按钮。

    对于Chrome浏览器,过程类似,单击浏览器右上角的“三个点”按钮,找到“设置”。您可以在页面底部找到“高级设置”。现在找到“打开代理设置”,然后您将看到带有“清除SSL状态”的“内容”选项卡

证书设置

解决方案4:禁用Chrome的QUIC协议

如果您仍在阅读指南,那将不走运。让我们尝试通过禁用QUIC协议来更改Chrome浏览器设置。

    点击浏览器的地址栏,然后输入/粘贴chrome:// flags /#enable-quic,然后按Enter;

    您将看到“实验QUIC协议”的“默认”状态。更改为“禁用”;

    重新启动浏览器,然后尝试访问该站点。 

谷歌浏览器设置

解决方案5:检查防火墙/防病毒

我们建议检查防火墙和防病毒设置以及LOG文件,以确保它们不会阻止您尝试访问的网站。如果发现阻止,请仔细检查阻止原因,因为它们可能正在试图保护您免受恶意网站的侵害。我们不建议关闭防病毒软件。

步骤6:查看隐私级别和Internet安全

我们的最后一个想法是调整Internet安全性和隐私级别。尝试降低级别以防止阻止访问某些网站。以下是要遵循的步骤:

    打开控制面板,找到“ Internet选项”,或者单击左下角的“开始/ Windows”徽标,然后在搜索中键入“ Internet选项”;

    您将获得一个新窗口,您必须在其中单击“安全性”选项卡。

    现在,如果比例尺较大,请尝试将其降低到“中等水平”。现在,重新启动浏览器,然后尝试再次打开您的网站。 

IE信任配置

结论总结

我们描述的至少一种解决方案一定可以帮助您解决错误ERR_SSL_PROTOCOL_ERROR。

参考技术A

这个问题大多数是出现在 nginx 的配置中,原因可能是配置没有开启SSL模块。这个错误是由于Nginx版本的问题所导致的。

在 Nginx1.15 版本之前,配置 HTTPS 服务是如下:

server

      listen                        443;

      server_name            网站域名;

      ssl                            on;

      ssl_certificate           SSL证书;

      ssl_certificate_key    SSL证书私钥;

      ssl_ciphers               加密算法;

      ssl_protocols           加密协议;

      ssl_prefer_server_ciphers      on;

但是这样的配置如果放在Nginx1.15 版本则是错误的,启动Nginx的时候系统会报错,原因是 SSL  ON 这样的配置不再支持,需要删除掉。但是当你删除掉那一句代码后,重新启动 Nginx 就会发现浏览器访问页面时就会出现” ERR_SSL_PROTOCOL_ERROR”的错误。

那么在Nginx1.15版本下,我们应该做如下配置:

server

        listen    443 ssl;

        server_name    网站域名;

        ssl_certificate   SSL证书;

        ssl_certificate_key    SSL证书私钥;

        ssl_ciphers    加密算法;

        ssl_protocols    加密协议;

        ssl_prefer_server_ciphers    on;

重启Nginx后,我们的HTTPS服务就正常了。另外,如果您的网站包含IPv6,那么站点绑定证书时,要所有的 ip,包含 ip6 和 ip4 都需要绑定证书。

本回答被提问者采纳

为啥会出现 NSException 错误?

【中文标题】为啥会出现 NSException 错误?【英文标题】:Why an NSException error?为什么会出现 NSException 错误? 【发布时间】:2011-09-08 19:49:50 【问题描述】:

我已将以下代码放入...;

NSDictionary *plainPart = [NSDictionary dictionaryWithObjectsAndKeys:@"text/plain",kSKPSMTPPartContentTypeKey,
@"Hello,\n You've just received a new message from the iDHSB iPhone App.\n Here it is: %@",field.text,     
kSKPSMTPPartMessageKey,@"8bit",kSKPSMTPPartContentTransferEncodingKey,nil];

...我收到一个 NSException 错误提示;

*** WebKit discarded an uncaught exception in the webView:shouldInsertText:replacingDOMRange:givenAction: delegate:     
<NSInvalidArgumentException> +[NSDictionary dictionaryWithObjectsAndKeys:]: second object of each pair must be non-nil.  Or, did  
you forget to nil-terminate your parameter list?

这是什么意思?我该怎么做才能解决这个问题?

谢谢,

詹姆斯

【问题讨论】:

【参考方案1】:

您正在尝试在字典初始化中格式化字符串,它期望格式为object, key, object, key, etc..。要解决此问题,请尝试在另一行上创建格式化字符串以清楚起见,然后将其添加为对象和键的一部分

NSString *message = [NSString stringWithFormat:@"Hello,\n You've just received a new message from the iDHSB iPhone App.\n Here it is: %@",
                                                 field.text];
NSDictionary *plainPart = [NSDictionary dictionaryWithObjectsAndKeys:
                              @"text/plain", kSKPSMTPPartContentTypeKey,
                              message, kSKPSMTPPartMessageKey,
                              @"8bit", kSKPSMTPPartContentTransferEncodingKey,nil];

【讨论】:

【参考方案2】:

也许你的意思是这样的:

NSDictionary *plainPart = [NSDictionary dictionaryWithObjectsAndKeys:@"text/plain", kSKPSMTPPartContentTypeKey, [NSString stringWithFormat:@"Hello,\n You've just received a new message from the iDHSB iPhone App.\n Here it is: %@",field.text], kSKPSMTPPartMessageKey, @"8bit", kSKPSMTPPartContentTransferEncodingKey,nil];

【讨论】:

这样做了,它的工作原理,谢谢!但是当它发送电子邮件时(因为它就是这样做的),它只是说......这是:然后什么都没有,当它应该添加来自 UITextField 的文本时......这是我使用的代码......@987654321 @我在这里声明了“messagebody”:pastie.org/2504667. 在初始化 *plainpart NSDictionary 之前检查是否声明了 messagebody。或者,如果 NSMutableDictionary 在初始化后发生变异(更改),则需要使用它。【参考方案3】:

您缺少一个论点。我计算了 8 个总论点,包括 nil。这意味着您的一个键值对不完整。

【讨论】:

【参考方案4】:

尝试首先创建字符串:

NSString *partMessageKey = [NSString stringWithFormat:@"Hello,\n You've just received a new message from the iDHSB iPhone App.\n Here it is: %@",field.text];

然后将此字符串作为对象放入字典中。

【讨论】:

对不起,如果这听起来很傻,但我将如何“将此字符串作为对象放入字典”? :-)

以上是关于为啥出现ERR_SSL_PROTOCOL_ERROR 错误啊?的主要内容,如果未能解决你的问题,请参考以下文章

为啥会出现纱线内存错误?

performSegueWithIdentifier 出现运行时错误,为啥?

为啥 GoogleSignInAccount 会出现此错误?

为啥没有出现答案?

为啥会出现死锁?

为啥这个窗口没有出现