Auto SSL на BitrixVM
BitrixVM — это CentOS или AlmaLinux с nginx перед Apache и собственным меню настройки. Штатный пункт меню выдаёт только сертификаты Let's Encrypt (через dehydrated), поэтому для Auto SSL сертификат Sectigo получает acme.sh, а подключаем его через меню BitrixVM «Configure own certificate» — так настройки не перетрутся при обновлении окружения.
Где взять ключи
- В личном кабинете 1host.kz/bill откройте услугу «Auto SSL (Sectigo ACME)» (оформить — на странице Auto SSL).
- Нажмите «Configure Now» («Настроить»), введите домены в «Single Domains» (
wwwи безwww— один домен), wildcard — в «Wildcard Domains». - Через 5–30 секунд появятся ACME account ID, EAB MAC ID, EAB MAC key, Server URL.
В командах: Server URL — https://acme.sectigo.com/v2/DV, YOUR_EAB_KID — EAB MAC ID, YOUR_EAB_HMAC_KEY — EAB MAC key.
Особенности BitrixVM
- Корень сайта по умолчанию —
/home/bitrix/www; дополнительные сайты —/home/bitrix/ext_www/домен. - Сертификаты хранятся в
/etc/nginx/certs/; меню BitrixVM принимает свои файлы в формате PEM. - Порт 80 должен быть открыт в firewalld:
firewall-cmd --list-servicesдолжен показыватьhttp https. - Если ранее включали Let's Encrypt из меню, его задание dehydrated продолжит работать и может перезаписать сертификат — после перехода на Sectigo уберите этот домен из него (см. раздел про ошибки).
Установка acme.sh и регистрация
acme.sh работает одинаково на CentOS 7 и AlmaLinux 9 и не требует пакетов, в отличие от certbot из EPEL. От root:
curl https://get.acme.sh | sh -s [email protected]
source ~/.bashrc
acme.sh --register-account --server https://acme.sectigo.com/v2/DV \
--eab-kid YOUR_EAB_KID --eab-hmac-key YOUR_EAB_HMAC_KEY
acme.sh --set-default-ca --server https://acme.sectigo.com/v2/DV
Если предпочитаете certbot, установите его (dnf install epel-release certbot) и используйте команду из статьи Auto SSL через certbot с --webroot -w /home/bitrix/www.
Выпуск и подключение через меню BitrixVM
Выпустите сертификат через корень сайта (nginx BitrixVM отдаёт статические файлы из него напрямую, в том числе /.well-known/acme-challenge/):
acme.sh --issue -d example.kz -d www.example.kz -w /home/bitrix/www
Положите файлы в постоянные пути в /etc/nginx/certs/ и задайте перезагрузку nginx после продления:
mkdir -p /etc/nginx/certs/example.kz
acme.sh --install-cert -d example.kz \
--key-file /etc/nginx/certs/example.kz/privkey.pem \
--fullchain-file /etc/nginx/certs/example.kz/fullchain.pem \
--reloadcmd "systemctl reload nginx"
Теперь подключите их в меню BitrixVM: запустите /root/menu.sh → «9. Manage pool web servers» → «2. Configure certificates» → «2. Configure own certificate». Укажите:
- Sitename — имя сайта в BitrixVM (
defaultдля основного или имя дополнительного сайта); - Private Key path —
/etc/nginx/certs/example.kz/privkey.pem; - Certificate path —
/etc/nginx/certs/example.kz/fullchain.pem; - Certificate Chain path — можно оставить пустым, цепочка уже внутри
fullchain.pem.
Меню перепишет конфиги nginx и перезапустит его. Пути, которые применились, отображаются в том же разделе меню.
УТОЧНИТЬ: копирует ли меню «Configure own certificate» файлы в свой каталог или ссылается на указанные пути — после настройки сравните пути в меню с указанными выше; если они отличаются, укажите в --install-cert именно те пути, что показывает меню (правка /etc/nginx/bx/conf/ssl.conf вручную не рекомендуется — файл принадлежит окружению BitrixVM).
Несколько сайтов на одной машине
Каждый дополнительный сайт — свой выпуск с его webroot (-w /home/bitrix/ext_www/shop.example.kz), свой каталог в /etc/nginx/certs/ и своё имя сайта в меню. Все домены должны быть в подписке Auto SSL (поддомены вроде shop.example.kz — отдельные домены).
Типовые ошибки
- Проверка не проходит (timeout) — закрыт порт 80:
firewall-cmd --permanent --add-service=http && firewall-cmd --reload; или домен не указывает на машину. - Сертификат сменился обратно на Let's Encrypt — работает штатное задание dehydrated из меню BitrixVM (по субботам в 2:00). Уберите домен из его конфигурации или переключите сайт на свой сертификат заново через меню; при сомнениях — в поддержку.
- ЦС отклоняет заказ — домена нет в подписке; добавьте его в кабинете.
- После обновления BitrixVM сайт отдаёт другой сертификат — повторите «Configure own certificate» с теми же путями.
Проверка и продление
echo | openssl s_client -connect example.kz:443 -servername example.kz 2>/dev/null \
| openssl x509 -noout -issuer -dates
acme.sh --list
crontab -l | grep acme.sh
Издатель — Sectigo Limited, строка cron — продление включено. acme.sh обновит сертификат примерно за 30 дней до конца срока и выполнит systemctl reload nginx. Проверить цепочку целиком: acme.sh --renew -d example.kz --force, затем снова openssl — дата notAfter должна сдвинуться. Подписка Auto SSL продлевается счётом раз в год (счёт — за 14 дней). Вопросы — в поддержку ONEHOST из личного кабинета, круглосуточно.