Accelerate Your Blog with CloudFront
每月免費額度
- 1 TB 轉出流量
- 1 千萬次請求數
具體收費:
申請證書
打開 AWS Certificate Manager,請求證書
注意右上角區域為 North Virginia (us-east-1)
這裡需要添加兩個域名
example.com
*.example.com
使用通配符 * 可以匹配同一個域下的其他域名
下面給出了兩條 CNAME 記錄,只需要添加 example.com
的一條 CNAME 記錄即可
等待驗證通過
分配 CloudFront
假設你需要令
www.example.com
使用 CloudFront,就需要另外添加一個源站用於回源,例如origin.example.com
,而www.example.com
就可以通過 IP/CNAME 指向 CloudFront
打開 CloudFront
配置源站
- 源域(Origin domain):例如
origin.example.com
- 協議(Protocol):
Match viewer
其他保持默認
默認緩存行為(Default cache behavior)
Viewer
- Viewer protocol policy:如果需要令訪問者從 HTTP 跳轉到 HTTPS 則設置為
Redirect HTTP to HTTPS
- Allowed HTTP methods:允許的 HTTP 請求方法根據自己的使用場景設置,靜態網站可以使用
GET, HEAD, OPTIONS
,動態網站使用GET, HEAD, OPTIONS, PUT, POST, PATCH, DELETE
緩存鍵和源請求(Cache key and origin requests)
如果擔心網站受到攻擊,可以禁止緩存並將全部訪客請求轉發到源站,源站就可以使用 WAF 攔截攻擊,避免超出 CloudFront 免費額度
- Cache policy:
CachingDisabled
禁止緩存 - Origin request policy:
AllViewer
將全部訪客請求轉發到源站
如果是使用靜態託管服務,只要設置為 CachingOptimized
就行了
設置(Settings)
- Alternate domain name (CNAME):這裡是添加需要使用 CloudFront 的域名,例如
www.example.com
- Custom SSL certificate:選中剛剛申請的 SSL 證書
其他默認即可
最後創建分配
創建分配出錯
如果遇到這樣的情況,說明你沒有創建 CloudFront 分配的資格,可以到 AWS Support Center 創建工單申請資格
使用 CloudFront 加速
成功創建 CloudFront 分配後,進入分配,可以看到 CloudFront 分配的域名
創建一條 CNAME 記錄指向分配的這個域名
自選 IP
使用 CNAME 指向 CloudFront 分配域名在中國大陸地區速度並不可觀,所以建議使用 Ping 工具找到適合中國大陸地區使用的 IP,直接通過 IP 接入 CloudFront
運營商 | 適合的地區 IP |
---|---|
電信 | 新加坡 |
聯通 | 日本 |
移動 | 香港、台灣 |
拓展
網站收到攻擊,很可能會超出 CloudFront 的免費額度,因此有必要使國外解析到 Cloudflare
詳情:
Comment