我想使用Amazon S3和CloudFront托管仅限HTTPS的静态网站.这是我到目前为止所做的:
www指向CloudFront存储桶的子域添加了CNAME记录.到目前为止,非常好 - 我可以使用该www.example.com地址访问我的网站.但是,我希望该网站仅通过HTTPS提供,我从GoDaddy购买了SSL证书.
现在,问题是:
我们有一个Cloudfront发行版,其定制来源已经运行了很长时间,为我们的一个站点提供静态资产.就在今天早上,我们注意到我们的徽标显示为断开链接.
经过进一步调查,Cloudfront将返回一条我之前从未见过的有关URL的奇怪错误消息:
错误
请求无法满足.
由cloudfront生成(CloudFront)
此分发中的其他几个Cloudfront URL返回相同的错误,但其他(同样,来自同一分发)的工作正常.我没有看到什么有效,哪些无效的模式.
其他一些数据点:
知道这里发生了什么吗?我以前从未见过Cloudfront这样做过.
更新:
以下是Cloudfront的逐字HTTP响应:
$ http GET https://d2yu7foswg1yra.cloudfront.net/static/img/crossway_logo.png
HTTP/1.1 502 Bad Gateway
Age: 213
Connection: keep-alive
Content-Length: 472
Content-Type: text/html
Date: Wed, 18 Dec 2013 17:57:46 GMT
Server: CloudFront
Via: 1.1 f319e8962c0268d31d3828d4b9d41f98.cloudfront.net (CloudFront)
X-Amz-Cf-Id: H_HGBG3sTOqEomHzHubi8ruLbGXe2MRyVhGBn4apM0y_LjQa_9W2Jg==
X-Cache: Error from cloudfront
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<HTML><HEAD><META HTTP-EQUIV="Content-Type" CONTENT="text/html; charset=iso-8859-1">
<TITLE>ERROR: The request could not be satisfied</TITLE>
</HEAD><BODY>
<H1>ERROR</H1>
<H2>The request could not be satisfied.</H2> …Run Code Online (Sandbox Code Playgroud) 有没有人知道在使用您自己的CNAME时是否可以使用您自己的证书通过https服务于cloudfront?我甚至找不到通过S3设置我自己的SSL证书的方法......所以我不确定这是否可能.
更新:如果有人对此问题的更新感兴趣 - maxcdn.com提供在您的域上托管您的SSL证书,每月只需59美元的固定费用.
它不是亚马逊,但它甚至支持永久地从您的服务器和托管中提取,或者如果您在指定的任何时间发送缓存控制头,直到它再次获取原始URL.
整个报价非常整洁.:d