Около двух недель назад я купил новый подстановочный SSL-сертификат для всех своих серверов и сразу же попытался установить его на сервере, заменив старые настройки самозаверяющего сертификата. Итак, я ввел новые данные, перезапустил apache и обновил свой браузер, но он все еще жалуется на наличие самоподписанного сертификата SSL. Поэтому я продолжаю расследование и подтверждаю, что это не мой браузер или локальный кеш, тестируя его с удаленного сервера Windows, но он все еще обслуживает старый самозаверяющий сертификат (но цепной файл успешно обновился). Я даже попытался перезагрузить сервер, чтобы попытаться очистить кеш SSL Apache или что-то еще, но и здесь не повезло.
И по какой-то безумной причине он отлично работает на порте 444, если я отредактирую этот сайт и изменю его на порт 443, он вернется к старому сертификату .... :( что происходит? Это не только порт 443, который не работает '' кстати, я тестировал порты 92XX (так как это то, на чем работают мои службы), и он получает те же ошибки, даже после создания нового сайта на новом порту. Я также попытался скопировать один из сайтов на другой ( новый, раньше никогда не было ssl), и он там отлично работает: /
Как мне очистить "SSL-кеш" apache или что-то еще, что здесь происходит (на сервере 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>
Запустите эту функцию как root на вашем Linux-сервере:
apachectl graceful
у меня работает на debian. Если это не работает, вы можете попробовать параметр -k
apachectl -k graceful
сообщения об ошибках в голландском хроме: Fout встретил SSL-вербинг
сообщение об ошибке на английском языке Chrome: Ошибка с подключением SSL
apachectl graceful у меня не работал. Добавление -k тоже не сработало.
Мне пришлось просто переместить старый сертификат из каталога сертификатов, перезапустить apache, и, наконец, он заработал.
mv /etc/ssl/certs/STAR_site.crt ~/bkp/
apachectl restart
думаю это было решением для меня, я также возился с Cloudflare, отключил универсальный SSL и снова включил его для другого домена. Универсальный SSL был восстановлен так же, как я удалил старый сертификат. Итак, я не на 100% уверен, что вышеперечисленное - это то, что помогло, или переключение Cloudflares Universal SSL.
"rcapache2 graceful" + "rcapache2 restart" в Opensuse.