web-dev-qa-db-ja.com

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>
3
Sbx

Linuxサーバーでrootとしてこの関数を実行します。

apachectl graceful

私のためにDebianで動作します。それが機能しない場合は、パラメータ-kを試すことができます

apachectl -k graceful

オランダ語クロームのエラーメッセージ:Fout met SSL-verbinding

英語クロームのエラーメッセージ:SSL接続のエラー

2
user228345

apachectlgracefulは私には機能しませんでした。 -kの追加も機能しませんでした。

古い証明書をcertsディレクトリから移動し、Apacheを遅らせるだけで、ようやく機能しました。

mv /etc/ssl/certs/STAR_site.crt ~/bkp/
apachectl restart

私は思うこれは私にとっての解決策でした。CloudflareをいじってユニバーサルSSLを無効にし、別のドメインで再度有効にしました。古い証明書を削除したのと同じように、ユニバーサルSSLが再確立されました。したがって、上記がトリックを実行したこと、またはCloudflares UniversalSSLを切り替えたことを100%確信しているわけではありません。

0
Brad Goss