Была та же проблема недоустановки сертификатов Comodo. Решил так:
Сертификат был приобретен не мной, «в наследство» мне достались
лишь 2 файла – xxx.pem и xxx.key. Протоколы были настроены, но битрикс
не проходил тест на сокеты – ошибка сокетов хоть ты тресни – что в админке "Работа с сокетами Ошибка! Не работает" –
отсюда и ниже. Что в скрипте проверки
битрикс – «Warning: fsockopen(): SSL operation failed with
code 1. OpenSSL Error messages: error:14090086:SSL routines:SSL3_GET_SERVER_CERTIFICATE:certificate
verify failed in /home/bitrix/www/bitrix_server_test.php on line 624»
И к тому же что apache, что nginx выдавали что-то типа «httpd: (98)Address already in use: make_sock: could not bind to address», первый – немного, второй – много занятых портов.
Пробовал решать различными путями – ничего не помогало. Набрел на инструкцию Comodo - [URL=https://support.comodo.com/index.php?/Knowledgebase/Article/View/1091/37/certificate-installation--nginx]https://support.comodo.com/index.php?/Knowledgebase/Article/View/1091/37/certificate-installation--nginx[/URL] В ней говорится, что для nginx нужно объединить сертификаты «xxx. ca-bundle» и «xxx.crt» и уже такой объединенный файл подсовывать nginx-у. Но у меня-то небыло ни crt-файла ни ca-bundle-файла. На это Comodo на этой же страничке инструкции предлагает скачать ca-bundle-файл, а вернее, несколько файлов – для домена, файл расширенной валидации и файл для организации. Мне нужен был для домена, его я и скачал - [URL=https://support.comodo.com/index.php?/Knowledgebase/Article/GetAttachment/1091/1282988]https://support.comodo.com/index.php?/Knowledgebase/Article/GetAttachment/1091/1282988[/URL]
Называется он «domain_validated.ca-bundle»
Ну хорошо, ca-bundle-файл – есть, но никакого crt – нет как нет. Поэтому за неимением вместо crt взял pem-файл.
В консоли перешел в папку сертификатов: «cd /etc/nginx/ssl/».
И запустил объединение файлов командой «cat server.pem domain_validated.ca-bundle > ssl-bundle.crt», в результате чего в папке сертификатов был создан объединенный файл «ssl-bundle.crt».
Вот этот вновь созданный сертификат я и подсунул nginx, то есть в файле конфигурации было: «ssl_certificate /etc/nginx/ssl/xxx.pem;»
А стало: «ssl_certificate /etc/nginx/ssl/ssl-bundle.crt;»
Рестартанул nginx “service nginx restart”
И пошел проверять. В Битрикс – админке – ошибки исчезли. В Битрикс скрипте проверки – тоже.
Тест в консоли «curl [URL=https://somebody.ru/]https://somebody.ru:443»[/URL] - также прошел на ура и выдал содержимое страницы в консоль. Тесты на сайтах тестирования сертификатов – улучшились, но уровень «A» таки получить не удалось, - остался «B» - [URL=https://www.ssllabs.com/ssltest/]https://www.ssllabs.com/ssltest/[/URL] . Тестер комодо - [URL=https://sslanalyzer.comodoca.com/]https://sslanalyzer.comodoca.com/[/URL] тоже выдал некоторые проблемы с « DH 1024-bit». И в инфо на [URL=https://weakdh.org/sysadmin.html]https://weakdh.org/sysadmin.html[/URL] было рекомендовано создать новую группу командой «openssl dhparam -out dhparams.pem 2048», что я и сделал в консоли. Скрипт предупредил, что это может продлиться долго – на практике это заняло 1-2 минуты (как раз чтобы налить себе чаю).
openssl dhparam -out dhparams.pem 2048
openssl dhparam -out dhparams.pem 2048
Generating DH parameters, 2048 bit long safe prime, generator 2
This is going to take a long time
.......................+.............+....+............................................................................................*
[root@xxx]#
Файл сертификата “dhparams.pem” был создан по адресу: /etc/nginx/ssl/
Далее:
Проверяем nginx – nginx –t
Всё ОК!
Перезапускаем nginx -
service nginx restart
Проверяем сертификат: [URL=https://www.ssllabs.com/ssltest/]https://www.ssllabs.com/ssltest/[/URL]
И – вуаля! Общий уровень – “A”!