|
Решение кто-нибудь нашел?
|
|
|
|
|
|
Станислав, подскажите, как создать pem-сертификат, который состоит из ключа, сертификата и бандла?
|
|
|
|
|
|
Денис,
Допустим вот так выглядят файлы сертификата, ключа и bundle на файловой системе:
Объединить их можно cat'ом:
Важно - чтобы между файлами ключами и сертификатами был перенос строки - символ \n. В моем случае переноса строки в конце файла не было и получалось вот так:
Одно из решений:
|
|||||||||||||||||
|
|
|
Установил самоподписанный сертификат по инструкции Затем в настройках nginx /etc/nginx/bx/conf/ssl.conf прописал пути к файлам сертификата
Далее необходимо в настройках php добавить путь к файлу сертификата ( чтобы корректно отрабатывал curl, равнозначно команде curl --cacert server.crt ) Добавляем в файл /etc/php.d/z_bx_custom.ini
Разработка и поддержка интернет магазинов на Битрикс , интеграция битрикс и 1С.
|
|||||||
|
|
|
и файла *.key нет есть только такие ![]() |
|||
|
|
|
|
Еще вариант решения
в /etc/hosts 127.0.0.1 localhost 00.000.00.00 site1.ru site2.ru site3.ru гда 00.000.00.00 - ip адрес сервера |
|
|
|
|
|
Убедитесь, что правильно указан IPv6 адрес, так как curl (что используется в Битрикс) работает по нему. Такая проблема часто возникает на виртуальных серверах при переносах домена между аккаунтами: IP поменяли, сайт открывается, а курл сам на домен сайта дает 500 ошибку.
Аналогичная проблема бывает с счетчиками Яндекс.Метрики: показания снимает, но всегда недоступен (красный). Надеюсь кому помогло. |
|
|
|
|
|
Проблему решил так, необходимо объединить crt и ca-bundle:
далее в nginx прописал его, а не server.crt
Проверить правильность очень просто: в консоли выполните
|
|||||||
|
|
|
|
Была та же проблема недоустановки сертификатов 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 - В ней говорится, что для nginx нужно объединить сертификаты «xxx. ca-bundle» и «xxx.crt» и уже такой объединенный файл подсовывать nginx-у. Но у меня-то небыло ни crt-файла ни ca-bundle-файла. На это Comodo на этой же страничке инструкции предлагает скачать ca-bundle-файл, а вернее, несколько файлов – для домена, файл расширенной валидации и файл для организации. Мне нужен был для домена, его я и скачал - Называется он «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 - также прошел на ура и выдал содержимое страницы в консоль. Тесты на сайтах тестирования сертификатов – улучшились, но уровень «A» таки получить не удалось, - остался «B» - . Тестер комодо - тоже выдал некоторые проблемы с « DH 1024-bit». И в инфо на было рекомендовано создать новую группу командой «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
Проверяем сертификат:
И – вуаля! Общий уровень – “A”! |
||||
|
|
|
|||