Давайте зашифруем DNS-запросы в состоянии PENDING

Я пытаюсь автоматически обновить свои сертификаты Let's encrypt. Для этого я использую certbot, который записывает запись TXT в мою запись DNS. К сожалению, это обновление находится в состоянии PENDING. Если я вручную обновляю запись TXT, когда certbot ожидает, все работает нормально. Что может быть причиной того, что эти обновления остаются в состоянии PENDING?

Примечание. Некоторые конфиденциальные данные заменены на <placeholders>.

      {   
"protoPayload": {
"@type": "type.googleapis.com/google.cloud.audit.AuditLog",
"status": {},
"authenticationInfo": {
  "principalEmail": "dns-service-account@dns-hosting-<projectnr>.iam.gserviceaccount.com",
  "serviceAccountKeyName": "//iam.googleapis.com/projects/dns-hosting-<projectnr>/serviceAccounts/dns-service-account@dns-hosting-<projectnr>.iam.gserviceaccount.com/keys/0437a910973f0bb3c13d95648ab0fc663aee9a63"
},
"requestMetadata": {
  "callerIp": "<my-ip>",
  "requestAttributes": {
    "time": "2022-01-10T06:19:39.948727Z",
    "auth": {}
  },
  "destinationAttributes": {}
},
"serviceName": "dns.googleapis.com",
"methodName": "dns.changes.create",
"authorizationInfo": [
  {
    "permission": "dns.resourceRecordSets.delete",
    "granted": true,
    "resourceAttributes": {}
  }
],
"resourceName": "managedZones/<zone-nr>",
"request": {
  "@type": "type.googleapis.com/cloud.dns.api.ChangesCreateRequest",
  "change": {
    "deletions": [
      {
        "rrdata": [
          "\"PjtQVEKDNS5158RoD_e6xZ18-U45o8SzIu9Y8E2OXpo\""
        ],
        "name": "_acme-challenge.<domain>.com.",
        "ttl": 60,
        "type": "TXT"
      }
    ]
  },
  "managedZone": "<zone-nr>",
  "project": "dns-hosting-<projectnr>"
},
"response": {
  "change": {
    "startTime": "2022-01-10T06:19:39.717Z",
    "deletions": [
      {
        "rrdata": [
          "\"PjtQVEKDNS5158RoD_e6xZ18-U45o8SzIu9Y8E2OXpo\""
        ],
        "ttl": 60,
        "name": "_acme-challenge.<domain>.com.",
        "type": "TXT"
      }
    ],
    "status": "PENDING",
    "id": "31"
  },
  "@type": "type.googleapis.com/cloud.dns.api.ChangesCreateResponse"
}   },   "insertId": "-gct1lxe6d30o",   "resource": {
"type": "dns_managed_zone",
"labels": {
  "location": "global",
  "project_id": "dns-hosting-<projectnr>",
  "zone_name": "<zone-nr>"
}   },   "timestamp": "2022-01-10T06:19:39.711566Z",   "severity": "NOTICE",   "logName": "projects/dns-hosting-<projectnr>/logs/cloudaudit.googleapis.com%2Factivity", "receiveTimestamp": "2022-01-10T06:19:40.311274041Z" }

1 ответ

Я не знаю подробностей программного обеспечения, это просто команда certbot с правильными аргументами для обновления сертификата. Для этого программное обеспечение создает запись txt в DNS, а затем проверяет, существует ли запись txt. Это доказывает, что я владелец с правильными разрешениями. После этого новые сертификаты выпускаются. Поскольку создание/обновление записей txt остается в состоянии ожидания, certbot не может выполнить проверку и завершится ошибкой. Если я обновляю запись вручную через Google DNS, пока certbot дремлет для распространения, все работает нормально. Единственная проблема заключается в том, что эти действия не выполняются, а остаются в состоянии ожидания.

Используемая команда:

      certbot certonly --dns-google --dns-google-propagation-seconds 120 --dns-google-credentials ~/bin/dns-hosting-331818-0437a910973f.json -d "*.famderidder.com"
Другие вопросы по тегам