2015-12-27 2 views
1

Я пытаюсь обновить свой SSL-сертификат, но есть некоторые проблемы, которые, вероятно, отсутствуют. после того, как я выполнил следующие шаги, сервер продолжает использовать старый сертификат, и я не знаю почему. here'w то, что я сделал:Сертификат обновления SSL на apache продолжает использовать старый файл certtificate

  1. Создать новый файл запроса (domain.csr) + ключевой файл (domain.key)
  2. openssl req -new -newkey rsa:2048 -nodes -keyout domain.key -out domain.csr

  3. Copy CSR содержимого файла и вставьте его моему провайдеру ssl + получите одобрение.

  4. получить 5 файлов из них и загружать их на сервер (domain.der, domain.pem , domain.cer, chain.cer, domain.p7b)
  5. набор на апача файл ssl.conf, SSLCertificateFile (domain.cer) SSLCertificateKeyFile (domain.key).
  6. рестарт апач

по какой-то причине мой сервер все еще использует свой старый сертификат.

это то, что я делаю неправильно?

+0

Браузеры часто кэшируют сертификаты. Перезагрузите браузер или, еще лучше, используйте другой для тестирования. Также проверьте, что domain.cer является новым сертификатом, прочитав файл с помощью OpenSSL. –

+0

Что такое linux openssl comand, чтобы проверить, какой файл domain.cer я использую? – Eli

+0

Зависит от формата, но попробуйте «openssl x509 -in domain.cer -text» –

ответ

4

Ну, вы сами это поняли, но если кто-то еще находится в такой же ситуации, вот некоторые из вещей, которые вы можете проверить.

Сначала проверка на месте, работает ли это, выполнив следующую команду OpenSSL на сервере (важный шаг мы пропущено!):

openssl s_client -connect localhost:443 

Это покажет сертификат, представленный клиенту от Apache. Если это не так, значит, вы знаете, что Apache config виноват. Если это правильный, то проблема ниже.

В вашем случае вы прекратите действие SSL на балансировщике нагрузки и забыли изменить сертификат там. Другой проблемой может быть кеширование браузера SSL-сертификата (перезапустите его, Ctrl + F5, чтобы принудительно обновить или лучше попробовать другой браузер или сторонний веб-сайт, например ssllabs.com).

Предполагая, что это проблема с Apache, вам необходимо проверить конфигурацию, чтобы проверить, что все экземпляры сертификата были заменены. Следующая команда покажет все ВХосты и какой конфигурации они настроены в:

/usr/local/apache2/bin/apachectl -S 

В качестве альтернативы просто использовать стандартную найти и Grep Unix команд для поиска вашего Apache конфигурации для старой или новой CERT:

find /usr/local/apache2/conf -name "*.conf" -exec grep olddomain.cer {} \; -print 

Обе эти команды предполагают, что apache установлен в/usr/local/apache2, но при необходимости измените путь.

Если все выглядит хорошо, и вы, безусловно, перезапустили Apache, тогда вы можете попробовать остановиться и перезагрузить, поскольку я заметил, что иногда изящный перезапуск Apache не всегда подбирает новую конфигурацию.Перед повторным запуском веб-сервера убедитесь, что вы не можете подключиться из своего браузера (чтобы убедиться, что вы подключаетесь к серверу, на который, по вашему мнению, подключаетесь), и что процесс не работает с помощью следующей команды:

ps -ef | grep httpd 

, а затем, наконец, начать.

Еще одна вещь, которую нужно проверить, - это то, что вы устанавливаете сертификатом, используя эту команду openssl для распечатки сведений о сертификате (при условии, что сертификат находится в формате x509, но есть аналогичные команды для других форматов) :

openssl x509 -in domain.cer -text 

И последнее, но не менее важное - проверить файлы журнала Apache, чтобы увидеть, есть ли там какие-либо ошибки. Хотя ожидалось, что это означает, что никакой сертификат не загружен, а не только старый.

+0

Большой совет по устранению проблем при решении этой проблемы. Для меня локальный браузер кэшировал старые сертификаты: P –

Смежные вопросы