Apache 缓存了旧的 SSL 证书

Apache 缓存了旧的 SSL 证书

大约 2 周前,我为所有服务器购买了新的通配符 SSL 证书,并立即尝试通过替换旧的自签名证书设置在服务器上进行设置。因此,我输入了新的详细信息,重新启动了 Apache,并刷新了浏览器,但它仍然抱怨拥有自签名 SSL 证书。因此,我进一步调查,并通过从远程 Windows 服务器进行测试来确认这不是我的浏览器或本地缓存,但它仍在提供旧的自签名证书(但链文件已成功更新)。我甚至尝试重新启动服务器以尝试清除 Apache 的 SSL 缓存或正在发生的其他事情,但也没有成功。
而且由于某些疯狂的原因,它在端口 444 上运行良好,如果我编辑该站点并将其更改为端口 443,它就会回到旧证书.... :( 发生了什么事?顺便说一下,不仅仅是端口 443 不起作用,我已经测试了端口 92XX(因为我的服务在该端口上运行),它会出现同样的错误,即使在新的端口上创建新站点也是如此。我也尝试将其中一个站点复制到另一台(新的,以前从未使用过 ssl)服务器,它在那里运行良好 :/
我如何清除 apache 的“SSL 缓存”或这里发生的任何事情(运行 Ubuntu 12.10 服务器)?

其中一个站点的配置:

<IfModule mod_ssl.c>
<VirtualHost *:9207>
        DocumentRoot /var/www/ssl/
        <Directory />
                Options FollowSymLinks
                AllowOverride None
        </Directory>
        <Directory /var/www/ssl/>
                Options Indexes FollowSymLinks MultiViews
                AllowOverride None
                Order allow,deny
                allow from all
        </Directory>
        ScriptAlias /cgi-bin/ /usr/lib/cgi-bin/
        <Directory "/usr/lib/cgi-bin">
                AllowOverride None
                Options +ExecCGI -MultiViews +SymLinksIfOwnerMatch
                Order allow,deny
                Allow from all
        </Directory>
        ErrorLog /var/log/apache2/error.log
        LogLevel warn
        CustomLog /var/log/apache2/ssl_access.log combined
        Alias /doc/ "/usr/share/doc/"
        <Directory "/usr/share/doc/">
                Options Indexes MultiViews FollowSymLinks
                AllowOverride None
                Order deny,allow
                Deny from all
                Allow from 127.0.0.0/255.0.0.0 ::1/128
        </Directory>
ProxyPass /tr http://localhost:9107/tr
ProxyPassReverse /tr http://localhost:9107/tr
        SSLEngine on
        SSLCertificateFile    /etc/ssl/crt/STAR_mysite_net.crt
        SSLCertificateKeyFile /etc/ssl/crt/server.key
        SSLCertificateChainFile /etc/ssl/crt/STAR_mysite_net.ca-bundle
        <FilesMatch "\.(cgi|shtml|phtml|php)$">
                SSLOptions +StdEnvVars
        </FilesMatch>
        <Directory /usr/lib/cgi-bin>
                SSLOptions +StdEnvVars
        </Directory>
        BrowserMatch ".*MSIE.*" \
                nokeepalive ssl-unclean-shutdown \
                downgrade-1.0 force-response-1.0
</VirtualHost>
</IfModule>

答案1

在您的 Linux 服务器上以 root 身份运行此功能:

apachectl graceful

我在 Debian 上可以使用。如果不起作用,你可以尝试参数 -k

apachectl -k graceful

荷兰语 chrome 中的错误消息:SSL 验证失败

英文错误消息 chrome:SSL 连接错误

答案2

我已经为此奋斗了几个小时,对我来说问题是多个 apache 实例正在运行并且“服务 apache 重启”不会停止它们,而且它们正在提供旧证书。

解决方案是:

service apache2 stop
pkill apache2
service apache2 start

答案3

我以为我遇到了证书缓存问题,但这完全是设置问题。

验证设置

apachectl -S

然后确保端口 443 的所有内容都具有新的有效证书。

答案4

Opensuse 上的“rcapache2 graceful”+“rcapache2 restart”。

相关内容