Heroku SSL Cloudfront缺少密钥对Id 403错误

时间:2016-11-04 23:27:26

标签: amazon-web-services ssl heroku amazon-cloudfront

我正在尝试通过在Heroku上托管的Rails 4.2应用程序上的云端服务所有资产。在使用具有somename.herokuapp.com的heroku应用程序之前,我已经成功使用了cloudfront,但是这个应用程序有自定义域和通配符SSL。我无法获得任何资产,他们都有403

我已尝试在AWS&上传我的SSL还尝试使用默认CloudFront证书(* .cloudfront.net)(适用于我的非自定义域应用)。

我确保我的SSL位于AWS希望它的区域(N.Virginia)。

我确定我只使用HTTP / 1.1,HTTP / 1.0。

我确保我的发行版已启用'。

我的SSL是一张通配符,所以看起来像这样' * .mydomain.com'

当我将其上传到AWS并将其添加到我的发行版中时,我发现它正在使用中。

我确保我的aws_id / aws_key有效。但是,有一些Cloudfront密钥/对,但我不知道我将它放在我的网站上的哪个位置,我只有aws_id / aws_secret_key的ENV变量。

Request URL:https://mycloudfrontdistn.cloudfront.net/assets/subfolder/secondfolder/gift-52db27eb2ced10800db38fbd74ec2ef40704d8c55d49b2654f7fe014e4bd1eff.png
Request Method:GET
Status Code:403 Forbidden
Remote Address:REDACTED (I don't know if this is sensitive)
Response Headers
view source
Connection:keep-alive
Content-Length:146
Content-Type:text/xml
Date:Fri, 04 Nov 2016 23:06:47 GMT
Server:CloudFront
Via:1.1 somebignumber.cloudfront.net (CloudFront)
X-Amz-Cf-Id:myAmazonKey==
X-Cache:Error from cloudfront

Request Headers
view source
Accept:image/webp,image/*,*/*;q=0.8
Accept-Encoding:gzip, deflate, sdch, br
Accept-Language:en-US,en;q=0.8
Cache-Control:max-age=0
Connection:keep-alive
Host:mycloudfrontdist.cloudfront.net
Referer:https: https//www.mysite.com
User-Agent:Mozilla/5.0 (Macintosh; Intel Mac OS X 10_12_0) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/54.0.2840.71 Safari/537.36

1 个答案:

答案 0 :(得分:0)

如果您对分发上的缓存行为启用Restrict Viewer Access,则会发生此错误,但您实际上并未使用CloudFront签名的URL,因为内容是公开的。

  

如果您希望对与此缓存行为匹配的PathPattern的对象的请求使用公共URL,请选择“否”。