Очень большой проект по сути с конструктором сайта для каждого клиента.
Решили делать на многосайтовости и ВМ как основу управления бэк сервера. ( для данного проекта это действительно оправдано)
Короче генерировать сертификаты нужно будет на потоке и количество их будет внушительное 200-1000.
И то что работало для 1-5 колек, уже разваливается по швам при нескольких десятках проектов, особенно при автоматизации.
И так
1. закидываем
2. сертификат генерируется
3. меняютяс конфиги
4. Ждем валидного завершения от ПОЛНОЙ пеерепроверки ВСЕХ сертификатов, и при фэйл удаляем сертификаты из конфига но НЕ удаляем из из dehydrated, ни из общей проверки ни сами сертификаты. Ни из БД.
В результате уже этот домен не даст нормально завершить проверку всех сайтов.
Так же битрикс ВМ уже видит сертификаты но они не подключены, и для подключения естественно выкинет ошибку полной проверки, в общем маразм крепчал.
Вопрос а зачем вообще запускать
уже после создания сертификата ? Вот хоть 1 кейс в чем логика ?
В чем был хитрый план?
При этом реально уже на сервере лежат все сертификаты и они доступны.
я уже не говорю что большинство ошибок связаны превышением лимита, хотя по факту его никто не делал поскольку активные сертификаты при проверки не должны тратить лимиты но по факту и они тратятся, в результате уже активные сертификаты и рабочие! могут стопорнуть dehydrated -c --force поскольку по мнению dehydrated уже зпарпашивались более 5 раз.
Вот вообще зачем при генерации 1 два раза дергать общий список всех сертификатов и проверять его два раза ? Какая разница доступен ли сертификат левому домену, разговор то о конкретном домене.
В результате мне приходися удалять domains.txt и сами список сайтов перед генерацией, после нее возвращять все это наместо и добавлять свой домен в общий список это вообще нормально?
вот что пишет лог, при этом сертификат УЖЕ как три дня активный лежит на сервере!!!!
А кто же ест эти попытки
0 12 * * 6 root /opt/webdir/bin/bx-dehydrated
0 2 * * 6 root /opt/webdir/bin/bx-dehydrated
посмотрим что же там внутри
ЭЭЭ вы серьезно?
Решили делать на многосайтовости и ВМ как основу управления бэк сервера. ( для данного проекта это действительно оправдано)
Короче генерировать сертификаты нужно будет на потоке и количество их будет внушительное 200-1000.
И то что работало для 1-5 колек, уже разваливается по швам при нескольких десятках проектов, особенно при автоматизации.
И так
1. закидываем
Код |
---|
sudo -u root /opt/webdir/bin/bx-sites -a configure_le --site "site.ru" --email "le@site.ru" --dns "site.ru www.site.ru" -o json |
3. меняютяс конфиги
4. Ждем валидного завершения от ПОЛНОЙ пеерепроверки ВСЕХ сертификатов, и при фэйл удаляем сертификаты из конфига но НЕ удаляем из из dehydrated, ни из общей проверки ни сами сертификаты. Ни из БД.
В результате уже этот домен не даст нормально завершить проверку всех сайтов.
Так же битрикс ВМ уже видит сертификаты но они не подключены, и для подключения естественно выкинет ошибку полной проверки, в общем маразм крепчал.
Вопрос а зачем вообще запускать
Код |
---|
/home/bitrix/dehydrated/dehydrated -c --force |
В чем был хитрый план?
Код |
---|
changed: [nebokassa] TASK [web : create main dehydrated domains.txt] ******************************** ok: [nebokassa] TASK [web : register dehydrated] *********************************************** changed: [nebokassa] TASK [web : create certificates] *********************************************** TASK [web : create certificates] *********************************************** fatal: [nebokassa]: FAILED! => {"changed": true, "cmd": "/home/bitrix/dehydrated/dehydrated -c --force > /home/bitrix/dehydrated_update.log 2>&1", "delta": "0:00:07.835882", "end": "2019-09-18 13:20:35.370933", "failed": true, "rc": 1, "start": "2019-09-18 13:20:27.535051", "stderr": "", "stdout": "", "stdout_lines": [], "warnings": []} NO MORE HOSTS LEFT ************************************************************* to retry, use: --limit @/etc/ansible/web.retry PLAY RECAP ********************************************************************* nebokassa : ok=28 changed=10 unreachable=0 failed=1 |
При этом реально уже на сервере лежат все сертификаты и они доступны.
я уже не говорю что большинство ошибок связаны превышением лимита, хотя по факту его никто не делал поскольку активные сертификаты при проверки не должны тратить лимиты но по факту и они тратятся, в результате уже активные сертификаты и рабочие! могут стопорнуть dehydrated -c --force поскольку по мнению dehydrated уже зпарпашивались более 5 раз.
Вот вообще зачем при генерации 1 два раза дергать общий список всех сертификатов и проверять его два раза ? Какая разница доступен ли сертификат левому домену, разговор то о конкретном домене.
В результате мне приходися удалять domains.txt и сами список сайтов перед генерацией, после нее возвращять все это наместо и добавлять свой домен в общий список это вообще нормально?
вот что пишет лог, при этом сертификат УЖЕ как три дня активный лежит на сервере!!!!
Код |
---|
# INFO: Using main config file /home/bitrix/dehydrated/config Processing hatterstour.ru with alternative names: www.hatterstour.ru + Checking domain name(s) of existing cert... changed! + Domain name(s) are not matching! + Names in old certificate: site.ru.ru + Configured names: site.ru www.site.ru + Forcing renew. + Checking expire date of existing cert... + Valid till Dec 17 09:02:46 2019 GMT (Longer than 20 days). Ignoring because renew was forced! + Signing domains... + Generating private key... + Generating signing request... + Requesting authorization for site.ru... + Requesting authorization for www.site.ru... + 2 pending challenge(s) + Deploying challenge tokens... + Responding to challenge for site.ru authorization... + Challenge is valid! + Responding to challenge for www.site.ru authorization... + Challenge is valid! + Cleaning challenge tokens... + Requesting certificate... + ERROR: An error occurred while sending post-request to https://acme-v01.api.letsencrypt.org/acme/new-cert (Status 429) Details: HTTP/1.1 100 Continue^M Expires: Wed, 18 Sep 2019 10:20:35 GMT^M Cache-Control: max-age=0, no-cache, no-store^M Pragma: no-cache^M ^M HTTP/1.1 429 Too Many Requests^M Server: nginx^M Content-Type: application/problem+json^M Content-Length: 245^M Boulder-Requester: 57299360^M Replay-Nonce: 0002-skDtuiCgMSGy6gWMLnEVq1jmjyPL1e9iqrq9FcZdUM^M Expires: Wed, 18 Sep 2019 10:20:35 GMT^M Cache-Control: max-age=0, no-cache, no-store^M Pragma: no-cache^M Date: Wed, 18 Sep 2019 10:20:35 GMT^M Connection: close^M ^M { "type": "urn:acme:error:rateLimited", "detail": "Error creating new cert :: too many certificates already issued for exact set of domains: site.ru,www.site.ru: see https://letsencrypt.org/docs/rate-limits/", "status": 429 |
А кто же ест эти попытки
0 12 * * 6 root /opt/webdir/bin/bx-dehydrated
0 2 * * 6 root /opt/webdir/bin/bx-dehydrated
посмотрим что же там внутри
Код |
---|
.... /home/bitrix/dehydrated/dehydrated -c ..... |