Я пытаюсь добавить 2 записи в существующую запись SPF клиента в Route 53, но получаю следующую ошибку:
* CharacterStringTooLong (слишком длинное значение) встречается с '"v = spf1
ip4:27.127.198.240 ip4:52.63.207.103 include:spf.antispamcloud.com include:spf.protection.outlook.com include:transmail.net include:spf.levart.com.au include:spf.smtp2go.com include:servers.mcsv.net a:spf.inspectionmanager.com a:spf.propertyspace.com include:e.jobadder.com ~all"', Duplicate Resource Record: "google-site-verification=LoYtmNmUIF8G2zgInlqxcJDvlrV19_w5I72mD9*
Я попытался добавить две записи:
a:spf.inspectionmanager.com
a:spf.propertyspace.com
Может ли кто-нибудь сообщить мне, как правильно разделить строку, чтобы обойти ограничение в 255 символов?
Eсть блог сообщение о разбиении длинных> 255 символьных записей TXT, из которого делается следующий вывод:
Вам нужно будет разбить длинные значения на части по 255 символов и заключить ввод в двойные кавычки. Для этого вы можете использовать наш разделитель записей DNS.
Хотя про гугл облачный днс пишут, то же самое и с Route53.
Вы можете взглянуть на пакет octodns, который обрабатывает разбиение по длине символа для Route53 (и других) вот так:
class _ChunkedValuesMixin(_ValuesMixin):
CHUNK_SIZE = 255
_unescaped_semicolon_re = re.compile(r'\w;')
def chunked_value(self, value):
value = value.replace('"', '\\"')
vs = [value[i:i + self.CHUNK_SIZE]
for i in range(0, len(value), self.CHUNK_SIZE)]
vs = '" "'.join(vs)
return '"{}"'.format(vs)
Так что просто разделите текст на куски по 255 символов и заключите их в двойные кавычки. "
и он должен работать.
Amazon объясняет это здесь: Когда я пытаюсь создать запись TXT с использованием синтаксиса SPF, я получаю ошибку «CharacterStringTooLong (Value is too long), обнаруженная с {Value}». Как я могу это исправить?
Обходной путь - создать несколько записей вместо одной.
Вы можете сохранить некоторые проверенные IP-адреса в записи TXT SPF, а затем сохранить остальные во второй.