Установка SSL-сертификата на 1С-Битрикс
Генерация CSR-запроса и заказ SSL-сертификата
После генерации CSR-запроса и заказа SSL-сертификата через панель управления cloudshop24.ru необходимо установить полученные сертификаты .CRT и .CA на сервер 1C-Битрикс.
После получения SSL-сертификата файлы для его установки появятся в панель управления cloudshop24.ru (меню SSL):
.CA - файл цепочки сертификатов Центра Сертификации (Certificate Authority).
.CRT - файл сертификата для вашего сайта (сайтов).
Загрузка необходимых файлов на веб-сервер
Примечание: подразумевается, что необходимая для работы пара закрытый/открытый ключ была сгенерирована на том же веб-сервере 1С-Битрикс, на который вы будете переносить приобретенный сертификат. Если вы создавали ключи на другой машине, вам необходимо также перенести файл закрытого ключа .key на ваш веб-сервер по аналогии с описанной ниже процедурой копирования файлов сертификатов.
Перенос сертификатов с компьютера Linux/Mac OS:
Самый простой способ загрузки сертификатов на сервер - опция SCP, встроенная в возможность терминала вашего компьютера:
- Загрузите файлы .CA и .CRT из панели управления cloudshop24.ru на локальный компьютер.
- Откройте терминал и перейдите в папку, в которую вы сохранили сертификаты (напр., Downloads):
cd ~/Downloads
The Creative Team
scp crt.crt ca.crt user@1.22.33.444:/etc/ssl
scp - команда копирования файлов
mydomain.ru_crt.crt - имя загруженного из панели файла сертификата вашего веб-сайта
mydomain.ru_ca.crt - имя загруженного из панели файла сертификата Центра Авторизации
user - имя вашего пользователя для подключения к серверу через ssh (часто используется root)
1.22.33.444 - IP-адрес вашего веб-сервера
/etc/ssl - директория на удаленном сервере, в которую в хотите сохранить загружаемые файлы.
Перенос сертификатов с компьютера Windows:
Запустите WinSCP. В открывшемся окне введите данные, которые вы используете для подключения к вашему серверу по SSH.
В левой части окна программы отображаются файлы на локальном компьютере, в правой - на подключенном удаленном сервере. Выберите или создайте директорию, в которую вы хотите сохранить сертификаты, в правой части окна.
Перетащите файлы .CA и .CRT в эту директорию из левой части окна.
Примечание: для удобства в дальнейшем рекомендуем перенести файл закрытого ключа (.key) в ту же директорию, в которую вы скопировали файлы сертификатов. Вы можете не делать этого, но таком случае запомните путь до этого файла и в дальнейшем укажите его в файле конфигурации Apache вместо пути, приведенного в нашем примере.
Если закрытый ключ .key был сгенерирован непосредственно на сервере, то для его копирования в другую директорию вы можете использовать команду:
cp /home/root/private.key /etc/ssl/private.key
cp - команда копирования
/home/root/ - путь до файла ключа
private.key - имя файла ключа
/etc/ssl/private.key - путь, по которому необходимо скопировать файл ключа
Удалить файл ключа из старого расположения вы можете с помощью команды:
rm /home/root/private.key
Настройка сервера 1C-Битрикс на использование SSL-сертификата
- После подключения к серверу отобразится консоль 1С-Битрикс с доступными действиями (Available Actions). Сейчас нам нужна не она, а непосредственно командная строка CentOS. Нажмите 0 для перехода в нее.
- Объедините загруженные на сервер ранее файлы сертификата Центра Сертификации (.CA) и сертификата вашего веб-сайта (.CRT) в один документ:
cat /etc/ssl/mydomain.ru_crt.crt /etc/ssl/mydomain.ru_ca.crt >> mydomain.crt
3. Откройте файл конфигурации ssl.conf:
nano /etc/nginx/bx/conf/ssl.conf
4. В открытом файле отредактируйте пути до загруженных ранее файлов сертификатов:
ssl_certificate /etc/ssl/mydomain.crt;
ssl_certificate_key /etc/ssl/private.key;
/etc/ssl/mydomain.crt - путь до файла сертификатов вашего сайта и центра сертификации
/etc/ssl/private.key - путь к файлу вашего закрытого ключа
Пример файла ssl.conf:
# If they come here using HTTP, bounce them to the correct scheme
# Nginx internal code used for the plain HTTP requests
# that are sent to HTTPS port to distinguish it from 4XX in a log and an error page redirection.
error_page 497 https://$host$request_uri;
# Increase keepalive connection lifetime
keepalive_timeout 70;
keepalive_requests 150;
# SSL encryption parameters
ssl on;
ssl_protocols TLSv1 TLSv1.1 TLSv1.2;
ssl_ciphers 'ECDHE-RSA-AES128-GCM-SHA256:ECDHE-ECDSA-AES128-GCM-SHA256:ECDHE-RSA-AES256-GCM-SHA384:ECDHE-ECDSA-AES256-GCM-SHA384:DHE-RSA-AES128-GCM-SHA256:DHE-DSS-AES128-GCM-SHA256:kEDH+AESG$
ssl_prefer_server_ciphers on;
ssl_certificate /etc/ssl/mydomain.crt;
ssl_certificate_key /etc/ssl/private.key;
# performance
ssl_session_cache shared:SSL:10m;
ssl_session_timeout 10m;
5. Теперь нужно активировать опцию SSL в консоли управления 1C-Битрикс. Для этого отключитесь от сервера, а затем повторно подключитесь к нему по SSH.В открывшейся консоли Available Actions вводим 6 (Manage sites in the pool), а затем 5 (Change https settings on sites).
Если на вашем сервере Битрикс установлен только один веб-сайт, можно просто нажать Enter в ответ на запрос имени сайта (Enter site name). Если же сайтов несколько, введите название веб-сайта, для которого вы устанавливаете SSL-сертификат и нажмите Enter. В ответ вам будет предложено отключить доступ по HTTP (незащищенному протоколу) для данного сайта. Если вы хотите сохранить такой доступ, нажмите n. Если вы хотите, чтобы сайт теперь был доступен только по защищенному протоколу https, нажмите Y.
6. Перезагрузите сервер:
reboot