我想通过在Heroku上托管的Rails 4.2应用程序上的cloudfront服务所有资产。在使用具有somename.herokuapp.com的heroku应用程序之前,我已成功使用了cloudfront,但是这个应用程序具有自定义域和通配符SSL。我无法获得任何资产服务,他们都有403Heroku SSL Cloudfront缺少密钥对-Id 403错误
我已尝试上传我的SSL在AWS &也尝试使用默认CloudFront证书(* .cloudfront.net)(它适用于我的非自定义域应用)。
我已经确认我的SSL位于AWS想要的AWS区域(N.Virginia)。
我确定我只使用HTTP/1.1,HTTP/1.0。
我已确定我的发行版已启用。
我的SSL是一个通配符,所以它看起来像这样“* .mydomain.com来”
当我上传到AWS,并把它添加到我的分布,我看到它正在使用中。
我确定我的aws_id/aws_key是有效的。但是,有一些Cloudfront密钥/对,但我不知道我将该位置放在我的网站上,我只有ENV变量aws_id/aws_secret_key。
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
如果我有公共和私人用户的内容 – NothingToSeeHere
你必须隔离的内容在不同的路径下,并创建一个匹配每个路径的缓存行为,并为每个路径设置适当的限制查看器访问 - 例如您可能会将'/ asset/*'行为的属性设置为No并将属性设置为Yes - **或**的/ private/*模式,您的应用程序需要对所有CloudFront URL进行签名在你的应用程序。请参阅[通过CloudFront提供私人内容](http://docs.aws.amazon.com/AmazonCloudFront/latest/DeveloperGuide/PrivateContent.html)了解如何将授权信息共同呈现给CloudFront。 –