Доступ к CloudFront через подписанного повара ie не работает, подписанный URL-адрес работает - PullRequest
0 голосов
/ 23 января 2020

Я боролся с этим вопросом в течение недели. Вот подробности:

Конечная точка Api для получения cook ie: api.example.com Конечная точка для контента через Cloudfront: media.example.com

Генерируйте cook ie через конечную точку API с политикой:

{"Statement":[{"Resource":"https://*","Condition":{"DateLessThan":{"AWS:EpochTime":1579735085}}}]}

Вот файлы cookie, которые создаются (с соответствующими параметрами):

'CloudFront-Policy=<base64 policy here>; Domain=.example.com; Expires=Wed Jan 22 2020 15:18:04 GMT-0800 (Pacific Standard Time); Max-Age=3600; Path=/; HttpOnly; Secure;'
'CloudFront-Key-Pair-Id=<key pair id here>; Domain=.example.com; Expires=Wed Jan 22 2020 15:18:04 GMT-0800 (Pacific Standard Time); Max-Age=3600; Path=/; HttpOnly; Secure;'
'CloudFront-Signature=<long signatuer here>; Domain=.example.com; Expires=Wed Jan 22 2020 15:18:04 GMT-0800 (Pacific Standard Time); Max-Age=3600; Path=/; HttpOnly; Secure;'

NOW, если я беру значения выше и создаю URL, я правильно получаю изображение:

https://media.example.com/filename.jpg?Policy=<policy value above>&Signature=<signature above>&Key-Pair-Id=<key pair id above>

НО, если я использую вышеупомянутые куки в почтальоне или браузере, я получаю сообщение «Отказано в доступе»:

    <Error>
        <Code>AccessDenied</Code>
        <Message>Access Denied</Message>
        <RequestId>xxxxCDAEA989698</RequestId
    <HostId>xxxxxKYd8MIvZu6kC4zJ0lfvd9Ou8To4Ymi/xFODGHedkRFdkBm0ZxiYfd1D++AOibMLhS2wjfo=</HostId> 
    </Error>

Изначально я думал, что это проблема домена, но после некоторых исследований я считаю, что моя конфигурация и политика повара ie должны работать.

Любая идея / объяснение приветствуются.

...