SSL 握手失败

SSL 握手失败

对于在自定义端口上运行的 SSL,此错误消息意味着什么?我正在运行 Ubuntu。

更新

我要说的是,这不是使用第三方 SSL 证书,而是在我们自己的服务器上生成的证书。

另一个更新

我的/etc/apache2/ports.conf文件内容如下:

NameVirtualHost *:80
Listen 80

<IfModule mod_ssl.c>
    # SSL name based virtual hosts are not yet supported, therefore no
    # NameVirtualHost statement here
    Listen 668
</IfModule>

dav_svn.conf内容如下:

  <Location /svn/web/>
        DAV svn
        SVNParentPath /var/svn-repos/web/
        AuthType Basic
        AuthName "SVN Repository"
        AuthUserFile /etc/svn-auth-file
        Require valid-user
  </Location>

我需要在 dav_svn.conf 上指定端口吗?

更新 3 我现在意识到我无处可逃SSLEngine On——至少我找不到。

httpd.conf 完全是空白的。我在此服务器上运行的只是 SVN,/svn/如在dav_svn.conf

我应该如何通过 启用 SSL dav_svn.conf

解决方案

我添加了以下内容httpd.conf

<VirtualHost *:668>
        <IfModule mod_ssl.c>
                SSLCertificateFile /var/server.crt
                SSLCertificateKeyFile /var/server.key
                SSLEngine on
        </IfModule>
</VirtualHost>

答案1

这可能意味着您正在使用链式证书,并且没有使用 SSLCACertificateFile /path/to/gd.bundle.crt 指令。Godaddy、Starfield 和其他一些公司使用捆绑 .crt 文件。


已编辑:经过一些测试,我能够通过禁用 SSL 引擎使用 svn 复制错误,如您的另一篇文章中所述。看来您没有为该主机/端口配置 https。

在您的虚拟主机列表中(这可能是自动的,取决于您使用的控制面板)

<VirtualHost 1.2.3.4:8443>
SSLEngine on
SSLCipherSuite ALL:!ADH:!EXPORT56:RC4+RSA:+HIGH:+MEDIUM:+LOW:+SSLv2:+EXP:+eNULL
SSLCertificateFile /etc/apache2/ssl/path.to.domain.crt
SSLCertificateKeyFile /etc/apache2/ssl/server.2048.key

如果您使用端口 8443,则与上述类似的操作将启用 SSL。我怀疑部分配置有误,虽然您的 Listen 指令已打开端口,但未为该端口启用 SSL 引擎。

答案2

这意味着初始 SSL 协商的某些部分失败了。这是一个非常常见的错误。它位于自定义端口上并不意味着什么(假设您已将客户端和服务器指向正确的端口)。

针对更新 3 进行编辑
如果您在某处有 VirtualHost 声明,请将其放入SSLEngine on该指令中。如果没有,最好将其放入 ` 指令中;或者放在您配置 SSLCertificateFile 的位置旁边(无论如何都应该放在 IfModule 指令中,除非将其放在其他地方更合适,每个系统都不同,抱歉有百万种选择)。

相关内容