大约 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”。