Bitrix virtual appliance version 7.4.3 и ниже
Ошибка:
Сайты получили Letseyctypt сертификаты уже получили
Один из сайтов меняет А запись, проще говоря уходит с сервера, имеет ошибки в днс, не продлятся домен и прочее. ( но не удаляется с сервера)
В следствие этого прекращает генерироваться его сертификат поскольку LE естественно не выдает его.
В следствие этого прекращают генерироваться сертификаты для вообще ВСЕХ САЙТОВ ( привет разрабам)
Временное решение
Может кому будет полезно, и ждем когда разработчики исправят или "общую помойку с генерацией сертификатов" или алгоритм их отзыва.
Ошибка:
Сайты получили Letseyctypt сертификаты уже получили
Один из сайтов меняет А запись, проще говоря уходит с сервера, имеет ошибки в днс, не продлятся домен и прочее. ( но не удаляется с сервера)
В следствие этого прекращает генерироваться его сертификат поскольку LE естественно не выдает его.
В следствие этого прекращают генерироваться сертификаты для вообще ВСЕХ САЙТОВ ( привет разрабам)
Временное решение
Код |
---|
#!/bin/bash # получаем список реальных сайтов на сервере for DOMAIN in $(find /etc/httpd/bx/conf -name "bx_ext*" | sed 's/\/etc\/httpd\/bx\/conf\/bx_ext_//g' | sed 's/\.conf//g' | grep -v domain_isklushenye.ru | grep -v eshe_iskiushenie.ru ) do #скидываем на нули DOMAIN_ping="" DOCROOT=$(sudo -u root /opt/webdir/bin/bx-sites -o json -a status -s $DOMAIN | cut -d "," -f37 | cut -d ":" -f2 | sed 's/\x22//g') https_enabled=$(sudo -u root /opt/webdir/bin/bx-sites -o json -a status -s $DOMAIN | cut -d "," -f18 | cut -d ":" -f2 | sed 's/\x22//g') ping -c 1 "$DOMAIN" 2>/dev/null | grep -e $(/sbin/ifconfig | sed -n '2 p' | awk '{print $2}') &> /dev/null && DOMAIN_ping=$DOMAIN if [ -n "$DOMAIN_ping" ]; then # если домен пингуется echo "$DOMAIN_ping -лежит на этом сервере" else echo "$DOMAIN_ping -Есть сайт, но не ссылаетяс на этот сервер" if [ -z "$(curl -sIv https://$DOMAIN_ping |& egrep subject:.+ -o| grep -o CN=Bitrix)" ]; then # выдан не битрикс echo "$DOMAIN_ping Востанавливаем Bitrix сертификат" pid=$(sudo -u root /opt/webdir/bin/bx-sites -a reset_cert --site "$DOMAIN_ping" -o json | egrep -o 'pid\"\:\"[0-9]{1,}\"' | egrep -o "[0-9]{1,}") && echo "Ждем завершения процесса $pid ." && while [ -e /proc/$pid ]; do echo -ne "." && sleep 1; done fi fi nginx -t && nginx -s reload done |