Вот как я ввожу значение ключа DKIM:
"v=DKIM1; k=rsa; p=MIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIBCgKCAQEAwztXzIUqic95qSESmnqX U5v4W4ENbciFWyBkymsmmSNOhLlEtzp/mnyhf50ApwCTGLK9U7goo/ijX/wr5roy XhReVrvcqtIo3+63a1Et58C1J2o4xCvp0K2/lM6hla4B9jSph7QzjYdtWlOJqLRs o0nzcut7DSq/xYcVqvrFDNbutCfG//0wcRVUtGEyLX/a/7mAAkW6H8UEYMPglQ9c eEDfTT6pzIlqaK9cHGOsSCg4r0N8YxnHFMRzKaZwmudaXTorSbCs7e681g125/vJ e82VV7DE0uvKW/jquZYtgMn7+0rm+2FDYcDx/7lzoByl91rx37MAJaUx/2JHi1EA nwIDAQAB"
В этом значении нет новых строк (я специально скопировал вставку и протестировал в текстовом редакторе). Но по какой-то причине я продолжаю получать ошибку TXT is too long:
TXTRDATATooLong встречается на «V = DKIM1; к = RSA; р = MIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIBCgKCAQEAwztXzIUqic95qSESmnqX U5v4W4ENbciFWyBkymsmmSNOhLlEtzp / mnyhf50ApwCTGLK9U7goo / ijX / wr5roy XhReVrvcqtIo3 + 63a1Et58C1J2o4xCvp0K2 / lM6hla4B9jSph7QzjYdtWlOJqLRs o0nzcut7DSq / xYcVqvrFDNbutCfG // 0wcRVUtGEyLX / а / 7mAAkW6H8UEYMPglQ9c eEDfTT6pzIlqaK9cHGOsSCg4r0N8YxnHFMRzKaZwmudaXTorSbCs7e681g125 / VJ e82VV7DE0uvKW / jquZYtgMn7 + 0rm + 2FDYcDx / 7lzoByl91rx37MAJaUx / 2JHi1EA nwIDAQAB "
Я действительно не знаю, что мне делать, чтобы исправить эту проблему.
См аналогичная проблема на форуме Route 53:
К сожалению, ограничение в 255 символов на строку в записях TXT - это не ограничение Route53, а ограничение, налагаемое самим протоколом DNS. Однако каждая запись TXT может иметь несколько строк по 255 символов каждая. Вам нужно будет разделить DKIM на несколько строк для записи TXT. Вы можете сделать это через консоль, введя каждую строку, заключенную в кавычки, по одной строке в строке.
Важная заметка: Не используйте «одну строку в строке», как сказано в инструкции - разделяйте строки одним пробелом, например. "foo" "bar"
не "foo"\n"bar"
. Использовать DKIMValidator для проверки правильности чтения подписи.
Вы можете разделить его на фрагменты цитируемого текста с максимальной длиной 255 на фрагмент. Необязательно делать каждый кусок точным.
Например, если ваше значение выглядит примерно так:
"v=DKIM1; k=rsa; p=abcdefghijklmnopqrstuvwxyzabcdefghijklmnopqrstuvwxyzabcdefghijklmnopqrstuvwxyza bcdefghijklmnopqrstuvwxyzabcdefghijklmnopqrstuvwxyzabcdefghijklmnopqrstuvwxyzabcdefghijklmnopqrstuvwxyzabcdefghijklmnopqrstuvwxyzabcdefghijklmnopqrstuvwxyzabcdefghijklmnopqrstuvwxyzabc"
Можно нарезать в произвольных местах:
"v=DKIM1; k=rsa; p=abcdefghijklmnopqrstuvwxyzabcdefghijklmnopqrstuvwxyzabcdefghijklmnopqrstuvwxyz" "abcdefghijklmnopqrstuvwxyzabcdefghijklmnopqrstuvwxyzabcdefghijklmnopqrstuvwxyzab" "cdefghijklmnopqrstuvwxyzabcdefghijklmnopqrstuvwxyzabcdefghijklmnopqrstuvwxyzabcdefghijklmnopqrstuvwxyzabc"
Обратите внимание, что это отдельные пробелы, а не символы новой строки между каждым фрагментом!
Инструкции по настройке Google, что неудивительно, ужасно. я просто написал полное руководство как это сделать на Route53.
Вы должны разбить запись DMARC на части из 255 символов. Если вы размещаете свой DNS с помощью AWS Route53, вставьте каждую часть, процитированную с "..."
в запись.
Не используйте символы новой строки для разделения частей, потому что это будут отдельные записи TXT.
v=DKIM1; k=rsa; p=ABC123longkeypart1ABC123longkeypart2
становится
"v=DKIM1; k=rsa; p=ABC123longkeypart1" "ABC123longkeypart2"
При использовании Terraform для подготовки записей Route53 вы также должны разделить DKIM-ключ на 255 частей с максимальным количеством символов.
Поскольку Terraform заботится о цитировании записи TXT, вы должны указывать только кавычки между каждой частью, например \"\"
.
v=DKIM1; k=rsa; p=ABC123longkeypart1ABC123longkeypart2
становится
resource "aws_route53_record" "some_domain_dkim" {
zone_id = "${aws_route53_zone.some_domain.zone_id}"
name = "google._domainkey.some_domain.com."
type = "TXT"
ttl = "3600"
records = [
"v=DKIM1; k=rsa; p=ABC123longkeypart1\"\"ABC123longkeypart2"
]
}
Смотрите также: https://www.terraform.io/docs/providers/aws/r/route53_record.html#records
Вы можете просто выбрать 1024 вместо 2048 и добавить это к маршруту 53 во время создания TXT в Google Apps.