SSL收到的记录超过了允许的最大长度.(错误代码:ssl_error_rx_record_too_long)

Web*_*net 68 apache ssl

我按照https安装程序中的官方文档进行了操作:https://help.ubuntu.com/6.06/ubuntu/serverguide/C/httpd.html#https-configuration

我不得不删除+CompatEnvVars

SSLOptions +FakeBasicAuth +ExportCertData +CompatEnvVars +StrictRequire
Run Code Online (Sandbox Code Playgroud)

因为它说这是一个无效的命令或什么的.所以删除它并遵循钉子的指示它会得到错误:

SSL received a record that exceeded the maximum permissible length.

(Error code: ssl_error_rx_record_too_long)
Run Code Online (Sandbox Code Playgroud)

我是SSL的新手,对于出了什么问题的任何建议?

Gre*_*g B 67

我刚刚遇到过这个问题.对我来说,当一些错误的代码试图在端口80上重定向到HTTPS时出现了.

例如

https://example.com:80/some/page

通过从URL中删除端口80,重定向工作.

默认情况下,HTTPS通过端口443运行.


小智 31

我用了

a2ensite default-ssl
Run Code Online (Sandbox Code Playgroud)

它就像一个魅力.

如果您想强制例如phpmyadmin使用SSL/https,如果缺少此链接,您将遇到此问题.


小智 25

我有同样的错误.我忘了创建从sites-enabled/000-default-ssl到sites-available/default-ssl文件的链接.

> ln -s /etc/apache2/sites-available/default-ssl /etc/apache2/sites-enabled/000-default-ssl 
Run Code Online (Sandbox Code Playgroud)


Rus*_*ton 11

这似乎是您在Firefox未正确配置服务器时从Firefox看到的结果.Chrome,BTW,只是给出了一个通用的"ssl失败"代码.

当服务器期待HTTP请求时,浏览器会发送SSL握手.服务器响应400代码和错误消息,该消息比浏览器期望的握手消息大得多.因此FF消息.

正如我们从响应中可以看到的那样,有很多东西可以破坏SSL配置但不会停止服务器启动或在error.log中给出任何提示.

我所做的是系统地检查所有答案,直到我最终找到正确的答案,就在底部.

这是我访问日志中的内容:

rfulton.actrix.co.nz:80 192.168.1.3 - - [09/Oct/2016:13:39:32 +1300] "\x16\x03\x01" 400 0 "-" "-"
rfulton.actrix.co.nz:80 192.168.1.3 - - [09/Oct/2016:13:39:46 +1300] "\x16\x03\x01" 400 0 "-" "-"
rfulton.actrix.co.nz:80 192.168.1.3 - - [09/Oct/2016:13:49:13 +1300] "\x16\x03\x01" 400 0 "-" "-"
Run Code Online (Sandbox Code Playgroud)


Pie*_*erz 7

启用S​​SL模块(即您已运行例如a2enmod ssl)但尚未启用任何SSL站点条目(即您尚未运行例如a2ensite default-ssl)时,也会发生此错误.


nan*_*eck 6

当我尝试使用curl访问url时出现此错误:

curl 'https://example.com:80/some/page'
Run Code Online (Sandbox Code Playgroud)

解决方案是更改httpshttp

curl 'http://example.com:80/some/page'
Run Code Online (Sandbox Code Playgroud)

  • 这是如何解决的?您现在正在通过 http 而不是 https 进行访问! (6认同)