Маршрут 53 не позволяет добавлять ключи DKIM, потому что длина слишком велика

42

Вот как я могу ввести значение для ключа 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 слишком длинная ошибка:

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 "

Я действительно не знаю, что я должен сделать, чтобы решить эту проблему.

Gasim
источник
Попробуйте удалить пробел после каждого;
Drifter104 15.03.16
Я также сталкивался с этой проблемой на маршруте AWS 53 DKIM ... вы решили эту проблему? Я обнаружил, что сервис Amazon AWS в плохом состоянии ... просто попробуйте использовать их форум вопросов и ответов ... что за шутка древнего устаревшего 15-летнего веб-интерфейса
Скотт Стенсланд,
@ScottStensland Как отмечается в принятом ответе, это не вина AWS, и есть простое решение.
ceejayoz

Ответы:

56

Смотрите похожую проблему на форуме Route 53 :

К сожалению, ограничение в 255 символов на строку в записях TXT - это не ограничение Route53, а ограничение, налагаемое самим протоколом DNS. Однако каждая запись TXT может содержать несколько строк, каждая длиной 255 символов. Вам нужно будет разделить ваш DKIM на несколько строк для записи TXT. Вы можете сделать это через консоль, введя каждую строку, заключенную в кавычки, по одной строке на строку.

Важное примечание : не используйте «одну строку на строку», как сказано в инструкциях - отдельные строки с одним пробелом, например. "foo" "bar"не "foo"\n"bar". Используйте DKIMValidator для проверки правильности чтения подписи.

Евгений Гольдин
источник
12
Также убедитесь, что между каждым заключительным / начальным предложением находится 1 пробел, а не символ новой строки / cr, как показывает AWS при добавлении записей TXT - это не отдельные записи. Пример: "p=sdfgkjhsdfg...." "sdklfjsdf....." <пробел между.
bshea
5
Newline v / s space стал для меня проблемой. Спасибо @bshea
Nehal J Wani
41

Вы можете нарезать его на куски цитируемого текста с максимальной длиной 255 за кусочек. Вам не нужно делать каждый кусок точным.

Например, если ваше значение выглядит примерно так:

"v=DKIM1; k=rsa; p=abcdefghijklmnopqrstuvwxyzabcdefghijklmnopqrstuvwxyzabcdefghijklmnopqrstuvwxyza bcdefghijklmnopqrstuvwxyzabcdefghijklmnopqrstuvwxyzabcdefghijklmnopqrstuvwxyzabcdefghijklmnopqrstuvwxyzabcdefghijklmnopqrstuvwxyzabcdefghijklmnopqrstuvwxyzabcdefghijklmnopqrstuvwxyzabc"

Вы можете нарезать его в произвольных местах:

"v=DKIM1; k=rsa; p=abcdefghijklmnopqrstuvwxyzabcdefghijklmnopqrstuvwxyzabcdefghijklmnopqrstuvwxyz" "abcdefghijklmnopqrstuvwxyzabcdefghijklmnopqrstuvwxyzabcdefghijklmnopqrstuvwxyzab" "cdefghijklmnopqrstuvwxyzabcdefghijklmnopqrstuvwxyzabcdefghijklmnopqrstuvwxyzabcdefghijklmnopqrstuvwxyzabc"

Обратите внимание, что это отдельные пробелы, а не переводы строк между каждым фрагментом!

Неудивительно, что инструкции по настройке Google ужасны. Я только что написал полное руководство о том, как сделать это на Route53.

Энди Рэй
источник
3
«Обратите внимание, что это отдельные пробелы, а не переводы строк между каждым фрагментом!» Это было важно для меня, потому что это не сработало. Сработало сразу после переключения, спасибо!
Алекс Юрковски
1
Это должен быть принятый ответ.
Николай Ценков
Как ни странно, пробелы работали для DKIM, однако при добавлении моего значения SPF к существующей записи TXT мне пришлось отделить строки в кавычках с помощью разрывов строк, а не пробелов, чтобы это работало в AWS Route 53.
adam0101
5

DKIM на AWS Route53

Вы должны разделить запись DMARC на 255 символов. Если вам доведется разместить DNS с помощью AWS Route53, вставьте каждую часть, указанную "..."в записи.

Не используйте переводы строк для разделения частей, потому что это будут отдельные записи TXT.

v=DKIM1; k=rsa; p=ABC123longkeypart1ABC123longkeypart2

становится

"v=DKIM1; k=rsa; p=ABC123longkeypart1" "ABC123longkeypart2"

Использование Terraform и Route53

При использовании 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

Overbryd
источник
3

Вы можете просто выбрать 1024 вместо 2048 и добавить это к маршруту 53 во время генерации TXT в Google Apps

Василий Аббас
источник
4
Нет причин делать это - если вы хотите, чтобы 2048 следовали выбранному ответу. Соедините запись dkim с кавычками + пробел между ними. Это сработает.
bshea