gpt4 book ai didi

php - AWS Cloudfront 签名 Cookie 不适用于备用域

转载 作者:搜寻专家 更新时间:2023-10-31 21:53:15 25 4
gpt4 key购买 nike

问题

我有 Access Denied 使用固定和自定义策略对带有签名 cookie 的云端 GET 请求。

详情

  1. cdn.example.comabc.cloudfront.net的备用域名,在cloudfront和cloudflare上都设置了CNAME。
  2. 我希望在 abc.example.com/authorize 之后,可以访问 cdn.example.com
  3. 我在 abc.example.com/authroize 后面使用 PHP 和 Laravel,代码如下。

```

$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;

```

  1. Cookie 是为 .example.com 设置的

enter image description here

  1. 当我转到 cdn.example.com 时,会显示以下消息

enter image description here

提前致谢。

最佳答案

原来这个问题是由加密的 cookie 引起的。您可能想查看:https://laravel.com/api/5.2/Illuminate/Cookie/CookieJar.html#method_make如果您使用的是 Laravel 5.2,请确保在使用中间件加密时添加了异常。

关于php - AWS Cloudfront 签名 Cookie 不适用于备用域,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/37063811/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com