Как настроить файлы cookie для распространения CloudFront с использованием тропосферы? - PullRequest
0 голосов
/ 11 июля 2019

Используя тропосферу, я пытаюсь создать дистрибутив CloudFront.

CacheBehaviors = [
                CacheBehavior(
                    TargetOriginId = Join("", ["cloudfront-", Ref("ParamOriginName")]),
                    PathPattern = '/en/Login/*',
                    AllowedMethods = ["GET", "HEAD", "OPTIONS", "PUT", "POST","PATCH"],
                    ForwardedValues = ForwardedValues(
                        QueryString = True,
                        Headers = ["user-agent",
                                "Host",
                                "CloudFront-Forwarded-Proto", 
                                "CloudFront-Is-Desktop-Viewer", 
                                "CloudFront-Is-Mobile-Viewer",
                                "CloudFront-Is-SmartTV-Viewer",
                                "CloudFront-Is-Tablet-Viewer",
                                "CloudFront-Viewer-Country",
                                "Origin",
                                "Referer"]
                        ),
                    MaxTTL = 86400,
                    MinTTL = 14400,
                    DefaultTTL = 43200,
                    ViewerProtocolPolicy = "redirect-to-https",
                    Compress = True,
                ),

Похоже, что шаблон json отлично подходит.Но мне также нужно переслать куки.После строки QueryString я вставил Cookies = "All", но сборка не удалась.

Сообщение об ошибке:
TypeError: <class 'troposphere.cloudfront.ForwardedValues'>: None.Cookies is <class 'str'>, expected <class 'troposphere.cloudfront.Cookies'>

Что мне нужно добавить, чтобы не дать сбой при сборке и пересылке куки

1 Ответ

0 голосов
/ 11 июля 2019

Я понял это после прочтения этого документа

После строки QueryString = True, Я добавил

Cookies = Cookies(Forward = "all"), и теперь он собирается без ошибок и добавляет правильное значение cookie в шаблон json

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...