为什么亚马逊登录会导致错误“SSL_ERROR_RX_RECORD_TOO_LONG”

为什么亚马逊登录会导致错误“SSL_ERROR_RX_RECORD_TOO_LONG”

昨晚我输入了我的凭证登录我的亚马逊账户(使用 Firefox v.50.1.0)并出现以下显示的错误。

连接到 www.amazon.com:80 时发生错误。SSL 收到的记录超出了最大允许长度。错误代码:SSL_ERROR_RX_RECORD_TOO_LONG

amazon.com 登录错误

看到上述错误后,我在新标签的地址栏中输入了 amazon.com,似乎我已经登录了。由于当时已是星期五晚上很晚,我以为亚马逊可能正在对其网站进行一些更改,这只是一个暂时的问题,会自行消失。

但是今天早上我登录亚马逊时遇到了同样的错误。而且仍然是同样的行为,如果我忽略它并随后导航到 amazon.com,看起来我已经登录了。

然而我只在家里的一台电脑上见过它。

所以我想问的问题是,这个错误是否可能是由我本地机器上的某些配置引起的?

[更新:]谢谢大家的解释。这个错误似乎是由于地址中指定了端口 80 而导致的,尽管我自己没有输入这个端口。

尝试复制多次后,似乎这发生在以下步骤序列的最后:

  1. 导航到 amazon.com(浏览器应定向到 https:www.amazon.com)

[请注意,我只能使用特定版本的亚马逊主页来复制此内容,如下所述]

  1. 点击“帐户和列表”>“登录”。亚马逊会将您的浏览器重定向至此网址(此 URL 包含额外的重定向,一旦您输入凭证并单击“登录”即可完成)。

  2. 输入凭证并单击“登录”。

  3. Amazon 重定向到指定不安全端口 80 的 URL,导致出现错误消息。

在我尝试复制此操作时,我注意到亚马逊目前至少提供两个不同的主页。更常见的主页在右上角有以下菜单选项:

亚马逊主页版本 1

第二个(不太常见的)主页版本在右上角有更多选项,如下所示:

亚马逊主页版本 2

后一个版本中的登录选项重定向到上述步骤 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”应该可以解决此问题。

相关内容