当它是不同的域时,如何设置 Cloudfront 签名的 Cookie?

Geo*_*rge 5 amazon-web-services amazon-cloudfront

我正在考虑使用带有签名 cookie 的 aws cloudfront 在我的网页上提供静态受保护内容。这里的AWS文档说我们应该设置3个cookie,这些cookie应该传递到我们的cloudfront url(images/css/html/js/etc)。目前尚不清楚如何解决这一问题,因为云前端将是一个独立的域,而不是提供该页面的域。

mywebsite.com将提供一个页面,该页面包含指向mycloudfrontsubdomain.cloudfront.net上的静态 CDN 内容的链接,并且应该传递签名的 cookie 以获得访问权限。如何从我自己的域在cloudfront.net上设置 cookie,或者 AWS 是否可以通过某种方式为您执行此操作。我不太擅长前端 Web 开发(我主要是后端),但我的理解是我们无法为不提供当前页面的不同域设置 cookie。我假设AWS有一些我们可以调用的端点来让cloudfront设置cookie?

小智 4

Cloudfront 支持备用域名。

例如,您可以将 Cloudfront 分配设置为具有备用域名mycloudfrontsubdomain.mywebsite.comhttps://docs.aws.amazon.com/AmazonCloudFront/latest/DeveloperGuide/LinkFormat.html#LinkFormat_OwnDomain

现在,您可以从mywebsite.com设置一个域名为mywebsite.com的cookie 。该域的 Cookie 还将包括所有子域(因此也包括 cloudfront)。https://developer.mozilla.org/en-US/docs/Web/HTTP/Headers/Set-Cookie#attributes