我按照位于此处的https设置上的官方文档:https://help.ubuntu.com/6.06/ubuntu/serverguide/C/httpd.html#https-configuration
我必须从
中删除+CompatEnvVars
SSLOptions +FakeBasicAuth +ExportCertData +CompatEnvVars +StrictRequire
因为它说这是一个无效的命令或什么的。因此,删除它并遵循钉子的指示它会得到错误:
SSL received a record that exceeded the maximum permissible length.
(Error code: ssl_error_rx_record_too_long)
我是SSL的新手,对于出了什么问题的任何建议?
答案 0 :(得分:59)
我刚刚遇到过这个问题。对我来说,当一些错误的代码试图在端口80上重定向到HTTPS时就出现了。
e.g。
通过从网址中删除端口80,重定向可以正常工作。
默认情况下,HTTPS通过端口443运行。
答案 1 :(得分:29)
我用过
a2ensite default-ssl
它就像一个魅力。
如果你想强迫,例如phpmyadmin使用SSL / https如果缺少此链接,您将遇到此问题。
答案 2 :(得分: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
答案 3 :(得分:8)
这似乎是您在没有为SSL正确配置服务器时从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 "-" "-"
答案 4 :(得分:6)
当您启用SSL模块(即您已运行例如a2enmod ssl)但尚未启用任何SSL站点条目(即您尚未运行例如a2ensite default-ssl)时,也会发生此错误。
答案 5 :(得分:2)
在我的情况下,我从另一台机器复制了一个ssl配置,并在<VirtualHost wrong.ip.addr.here:443>
中使用了错误的IP。将IP更改为应该的状态,重新启动httpd,并按预期通过SSL加载网站。
答案 6 :(得分:2)
就我而言,我需要先安装mod_ssl
yum install mod_ssl
答案 7 :(得分:1)
就我而言,一个Ubuntu系统,在ports.conf中我有
NameVirtualHost *:80
NameVirtualHost 192.168.1.79
Listen 80
然后,在里面,我有
NameVirtualHost *:443
Listen 443
我所要做的就是删除NameVirtualHost 192.168.1.79这一行。重启了apache并解决了问题。
答案 8 :(得分:1)
我的案例与Greg B有关 - 当启用SSL时,Visual Studio会创建两个站点 - 一个用于安全,一个用于正常的http请求。但是,Visual Studio会随机选择两个端口,并且根据启动调试器的方式,您可能会指向请求类型的错误页面。特别是如果您编辑网址但不要更改端口号。
看到这些帖子让我记忆犹新。
我知道这不是与APACHE相关的,但它绝对是一个有错误的人会找到的页面..
答案 9 :(得分:1)
以下解决方案对我有用:
在地址栏中键入About:Config,然后按Enter。
将显示“此保修可能会使您的保修无效!”警告,单击“我会小心,我承诺”按钮。
在搜索框中输入security.ssl.enable_ocsp_stapling。
值字段为true,请双击以使其为false。
现在尝试再次连接您的网站。
答案 10 :(得分:1)
终于找出问题所在:
端口 443 正在侦听 HTTP 而不是 HTTPS,更改为 HTTPS 解决了我的问题。
答案 11 :(得分:0)
在我的情况下,我意外地在Virtualhost配置中使用了端口80的SSL,而不是443。
答案 12 :(得分:0)
在webmin中启用TLSv1.2后,我遇到了同样的错误。在我意外启用TLSv1.2后认为它是SSLv2之后,我无法像之前那样从https://myipaddress:10000登录。我找到了这个链接http://smallbusiness.chron.com/disable-ssl-webmin-miniserv-60053.html,它帮助了我,因为我能够访问webmin配置文件而且我能够使用TLSv1.2
答案 13 :(得分:0)
当我尝试使用curl访问URL时出现此错误:
curl 'https://example.com:80/some/page'
解决方案是将https
更改为http
curl 'http://example.com:80/some/page'
答案 14 :(得分:0)
如果要从旧版本的apache2升级,请确保您的apache站点可用的conf文件以.conf结尾,并已通过a2ensite启用