[英]AWS Cloudfront Signed Cookie not working on alternate domain
我使用自定义策略和自定义策略,使用已签名的Cookie对Cloudfront GET请求Access Denied
。
cdn.example.com
是的交替域abc.cloudfront.net
,和CNAME被设置在两个CloudFront的和的CloudFlare。 abc.example.com/authorize
cdn.example.com
可以访问cdn.example.com
。 abc.example.com/authroize
,代码如下。 ```
$cloudFront = new Aws\CloudFront\CloudFrontClient([
'region' => 'us-west-2',
'version' => '2014-11-06'
]);
$resourceKey = 'http://cdn.example.com';
$expires = time() + 300;
$signedCookieCannedPolicy = $cloudFront->getSignedCookie([
'url' => $resourceKey,
'expires' => $expires,
'private_key' => 'pk.pem',
'key_pair_id' => 'XXXXXXXXXXXXXX',
]);
$response = Response::success();
foreach ($signedCookieCannedPolicy as $name => $value) {
$response->withCookie(Cookie::make($name, $value, 360, null, 'example.com'));
}
return $response;
```
.example.com
设置的 cdn.example.com
,会显示以下消息 提前致谢。
事实证明这个问题是由于加密的cookie。 您可能需要检查: https ://laravel.com/api/5.2/Illuminate/Cookie/CookieJar.html#method_make如果您使用的是Laravel 5.2,请确保在使用中间件加密时添加了例外。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.