Debian 8 上的 Apache 2.4-SSL_ERROR_RX_RECORD_TOO_LONG

Debian 8 上的 Apache 2.4-SSL_ERROR_RX_RECORD_TOO_LONG

我读到过,解决这个问题的一般方法是添加

NameVirtualHost *:80

NameVirtualHost *:443

到 VirtualHosts。但是 Apache 2.4 告诉我:

AH00548:NameVirtualHost 无效,将在下一版本中删除

我不知道该怎么做:

我的端口.conf:

Listen 80

<IfModule ssl_module>
        Listen 443
</IfModule>

<IfModule mod_gnutls.c>
        Listen 443
</IfModule>

添加

<IfModule mod_ssl.c>
        Listen 443
</IfModule>

而不是上面的 ssl_module 部分不会改变任何东西。

我的 VirtualHost 看起来像

<VirtualHost *:443>
        ServerAdmin [email protected]
        ServerName www.example.org

        DocumentRoot /var/www/htdocs/mw/

...

    <IfModule mod_ssl.c>
            SSLEngine on
            SSLCertificateFile /etc/letsencrypt/live/example.org/fullchain.pem
            SSLCertificateKeyFile /etc/letsencrypt/live/example.org/privkey.pem
            SSLCertificateChainFile /etc/letsencrypt/live/example.org/chain.pem
            SSLProtocol all -SSLv2 -SSLv3
            SSLHonorCipherOrder on
            SSLCipherSuite "EECDH+ECDSA+AESGCM EECDH+aRSA+AESGCM EECDH+ECDSA+SHA384 EECDH+ECDSA+SHA256 EECDH+aRSA+SHA384 EECDH+aRSA+SHA256 EECDH+aRSA+RC4 EECDH EDH+aRSA RC4 !aNULL !eNUL$
    </IfModule>

...
</VirtualHost>

我不知道为什么为 SSL 添加 VirtualHost 如此痛苦。我相信我已经遵循了说明。

谢谢你的时间。

答案1

关于这个有很多内容堆栈溢出有趣的是,这里的解决方案与那里的建议完全相反。我不得不改变

<VirtualHost *:443>

<VirtualHost example.org:443>

这真是令人困惑。我想知道当我添加第二个域时会发生什么。让我们拭目以待吧。

另一个问题:是否有解决方案可以

<VirtualHost *:443>

在每个 VirtualHost 中,而不是指定域。我怀疑我不会得到这个问题的答案。

答案2

您不能在同一个 IP 地址上拥有多个命名主机,或者如果拥有,则需要一个证书来涵盖所有地址。您收到的错误与 SSL 协商有关。当稍后(在 SSL 协商之后)发送主机名时,如何选择正确的证书?apache wiki 在此处有更多信息: http://wiki.apache.org/httpd/NameBasedSSLVHosts

相关内容