昨晚我输入了我的凭证登录我的亚马逊账户(使用 Firefox v.50.1.0)并出现以下显示的错误。
连接到 www.amazon.com:80 时发生错误。SSL 收到的记录超出了最大允许长度。错误代码:SSL_ERROR_RX_RECORD_TOO_LONG
看到上述错误后,我在新标签的地址栏中输入了 amazon.com,似乎我已经登录了。由于当时已是星期五晚上很晚,我以为亚马逊可能正在对其网站进行一些更改,这只是一个暂时的问题,会自行消失。
但是今天早上我登录亚马逊时遇到了同样的错误。而且仍然是同样的行为,如果我忽略它并随后导航到 amazon.com,看起来我已经登录了。
然而我只在家里的一台电脑上见过它。
所以我想问的问题是,这个错误是否可能是由我本地机器上的某些配置引起的?
[更新:]谢谢大家的解释。这个错误似乎是由于地址中指定了端口 80 而导致的,尽管我自己没有输入这个端口。
尝试复制多次后,似乎这发生在以下步骤序列的最后:
- 导航到 amazon.com(浏览器应定向到 https:www.amazon.com)
[请注意,我只能使用特定版本的亚马逊主页来复制此内容,如下所述]
点击“帐户和列表”>“登录”。亚马逊会将您的浏览器重定向至此网址(此 URL 包含额外的重定向,一旦您输入凭证并单击“登录”即可完成)。
输入凭证并单击“登录”。
Amazon 重定向到指定不安全端口 80 的 URL,导致出现错误消息。
在我尝试复制此操作时,我注意到亚马逊目前至少提供两个不同的主页。更常见的主页在右上角有以下菜单选项:
第二个(不太常见的)主页版本在右上角有更多选项,如下所示:
后一个版本中的登录选项重定向到上述步骤 2 中的 URL。该 URL 将地址设置为 amazon.com:80,从而导致出现错误消息。
答案1
您正在连接到https://www.amazon.com:80/
。由于协议部分的原因,您的浏览器需要进行 SSL 握手https
。但该网站实际上提供纯 HTTP 响应,因为您还明确指定了端口 80,这是未加密 HTTP 的默认端口。
https://www.amazon.com/
因此,Firefox 会将 HTTP 响应误解为格式错误的 SSL 流量,而这种流量只是偶然看起来像是“太长的 RX 记录”。如果您输入或 ,错误应该会消失 https://www.amazon.com:443/
。(端口 443 是 HTTPS 的默认端口。)
您可以在许多其他网站上引发类似的行为。以下是 ChromeERR_SSL_PROTOCOL_ERROR
在访问 时类似地产生的效果https://google.com:80/
:
答案2
Https 连接通常使用端口 443,而 Http 使用端口 80。当您尝试使用不安全的连接(端口 80 上没有 SSL)时,会发生这种情况,而您的浏览器设置仅允许此站点的安全连接(端口 443 上有 SSL)。从 URL 中删除“:80”应该可以解决此问题。