我想通過在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。 –