ERROR

The request could not be satisfied. Bad request.

Generated by cloudfront (CloudFront)

Request ID: JC3i8piJpjRbuP81MNhSKPxt5KWirIInynZgwFJ9EYKuysjS5A_AnQ==

上面这个问题害我着急的很啊。在这里谢谢远在东京的小伙伴在百忙之中帮我分析解决这个问题。

使用AWS也有段时间了,基本常用的服务都用了,还有很多服务没用上,正在慢慢摸索中。。说实话,AWS的API真的是太全了,同时也太tmd的多了,看都看不完,只能用的时候慢慢翻。对于我这个En烂到家的人来说,有些文档看着不是一般的吃力啊。

今天来说说这几天折腾CloudFront的经历吧。因为目前维护的一些老的项目,都是一些无力吐槽的项目,各种静态图片和pdf加载,每月的账单全用在这流量上了。看到CloudFront有50G的免费流量干嘛不用呢(账号还在免费期,国外的云就是好,不像国内,说是免费或者优惠,其实呢。更难懂的是AWS居然有北京区域了,干嘛不提供免费期呢。。。。。)

对于CloudFront就不多介绍了,官方文档说明很详细,直接进入主题。看图说话。配置步骤其实很简单,很多都是默认(有些设置我自己也不知道具体干什么的,还在研究)

我这次是直接进行全站加速,选择的源是web服务器,所以这里就是www.xxxx.com 其他默认

这里 cname其实是个很重要的东西,我第一次填的是www.xxx.com 我的域名

接下来提交保存 会有这样一条记录 CF会分配一个默认域名。然后将你web服务器的源部署到全球所有节点。这个需要等待一会。博主大概等了20分钟 status状态才变成Deploy

然后通过这个域名直接访问 如果正常访问web页面,说明已经部署OK 了,然后要做的就是去你的域名服务器,增加cname记录,指向这个默认的域名d3uaXXXXX.cloudfront.net

一般添加好之后,试试有没有解析成功

直接nslookup你的域名,看看解析地址是否有多个,如下,如果正确就OK 了。说明域名解析成功,已经指向CF进行全站加速了

这个时候,你可以试试你网站的速度了。

下图是我加速前测试的速度

加速后效果果然不一般,虽然AWS目前在大陆还没有CDN的加速节点,最近的在台湾。国内网速又那么坑爹。所以这样已经不错了。

到这里,我以为CDN已经OK了,谁知道没过多久。就出现本文开始的那段错误。。坑爹啊。咋回事呢,我就说没那么容易吗,记得之前有网友就跟我说过,说aws的这个CloudFront是个坑。。

我当时没在意,因为我简单的看了下官方文档,看说明,感觉很简单啊。。。就这样一步步配置,也就这样成功了。谁知道后面发生那么多未知的问题,然后就是按照错误提示,各种搜索,百度,google等,也搜到过类似的问题,但是按照其中的方法,发现还是不能解决我这个错误。

大部分都是配合S3使用的,还是对wp进行cdn配置,wp大家都知道,现成插件一大堆。安装启用设置就搞定了。那些方法根本没法解决我的这个错误问题。

没办法只能继续摸索改配置,各种试试。最终弄到后半夜,也没解决。还安慰自己说,官方说部署到全球节点在48小时以内,而且dns解析也需要时间,是不是等段时间就好了。干脆睡觉,第二天在看。

第二天一看,才发现是自己想多了。肯定是哪里配置错误了。但是错误在哪里,就一个一个再次改配置分析问题咯。只能先找到错误点再说。最终无奈寻求了技术群里的大牛进行求助。。。经过一个好友的共同分析,最终发现问题是自己配置的源和cname有冲突造成的。

应该改成这样

origin的源不应该直接跟你的域名是一样的,cnames同样,因为你的域名已经指向了EC2主机,域名的dns添加了cname指向了CloudFront,而CloudFront又从域名作为源缓存数据,这样感觉有点类似死循环的样子。

所以东京的这位小伙伴建议我设置个二级域名能够访问web的,然后CloudFront这里通过这个二级域名作为源,cnames对域名下所有子域名进行加速,就是这种*.域名的方式,通配符设置。

因为我应用服务器是IIS,就绑定了个二级域名,然后Dns域名服务器添加A记录,子域名指向EC2主机ip,这样一配置,果然等了半个小时,问题完美解决。。。。

这玩意断断续续折腾了2天时间,所以记录一下。网上又没有完全一样的教程,所以分享一下帮助更多遇到同样问题的人,希望对同类问题的人有所帮助。。。

截图码字不容易,只希望对你有帮助。同时感谢帮助过我的人。更多AWS相关内容请见我的个人博客

AWS CloudFront CDN直接全站加速折腾记The request could not be satisfied. Bad request的更多相关文章

  1. How to use aws CloudFront for CDN

    How to use aws CloudFront for CDN 1. create a new distribution in AWS cloudfront service, select alt ...

  2. 斐讯N1折腾记

    斐讯N1折腾记:运行 Linux 及优化  2018-06-23  37条评论  4,445次阅读  11人点赞 最后更新时间:2019年03月10日 咳咳咳,上篇教程教大家给斐讯 N1 降级并且刷了 ...

  3. 阿里云全站加速DCDN全面支持WebSocket协议

    WebSocket协议可以为网站和应用提供真正的双向通信,具有控制开销.保持连接状态.更强实时性.更好的压缩效果等优点,是当下低延时应用最常采用的一种技术协议.为了更好的满足客户在实时通讯场景下的加速 ...

  4. 全站加速(DCDN)- IP应用加速产品解读

    5月22日下午15点,阿里云全站加速(DCDN)-IP应用加速如期发布.IP应用加速是阿里云自主研发的一款更高效.更安全.更便捷的动态加速产品,结合阿里云CDN本身的资源优势,利用就近接入.智能路由, ...

  5. Google 工程师:为什么 CDN 对移动客户端加速“没有”效果

    王者荣耀是近两年来比较火的手游,不少小伙伴都有玩过.玩这个游戏最怕的不是遇到猪一般的队友,也不是怕遇到神一样的对手.最让我们感到害怕和绝望的是,团战爆发时,而你 460 了.460 是一个玩家常用的词 ...

  6. Atom编辑器折腾记

    http://blog.csdn.net/bomess/article/category/3202419/2 Atom编辑器折腾记_(1)介绍下载安装 Atom编辑器折腾记_(2)基础了解使用 Ato ...

  7. BeagleBone折腾记(一):连接你的狗板

    BeagleBone折腾记一连接你的狗板 准备 了解BeagleBone BeagleBone社区 所需软硬件 USB连接 TTL连接 结语 准备 了解BeagleBone BeagleBone可能一 ...

  8. Vue折腾记 - (3)写一个不大靠谱的typeahead组件

    Vue折腾记 - (3)写一个不大靠谱的typeahead组件 2017年07月20日 15:17:05 阅读数:691 前言 typeahead在网站中的应用很多..今天跟着我来写一个不大靠谱的ty ...

  9. CDN对于动态加速是否有效

    CDN对于动态加速是否有效的问题.关于这个问题,一直存在一些分歧,部分人认为有效,部分人认为无效,主要是CDN技术也在更新,而且是比较低调的进行着更新,所以并不是所有人都清楚CDN对动态加速的效果.其 ...

随机推荐

  1. JavaScript内存优化

    JavaScript内存优化 相对C/C++ 而言,我们所用的JavaScript 在内存这一方面的处理已经让我们在开发中更注重业务逻辑的编写.但是随着业务的不断复杂化,单页面应用.移动HTML5 应 ...

  2. 将数据转化成字符串时:用字符串的链接 还是 StringBuilder

    /* 目的:将数据转化成字符串时:用字符串的链接 还是 StringBuilder呢? */ public class Test{ public static void main(String[] a ...

  3. java中变量运算细节 (2)

    /* 目的:测试变量的运算方式 结果:byte a, b, c; a = b+c; 或者 a = b+10 形如这种形式的算式, 等式的右边的运算结果默认的都是int型的!因为等式右边有变量, 编译器 ...

  4. 总结整理 -- ruby系列

    基础学习 ruby -- 基础学习(一)项目文件夹说明 ruby -- 基础学习(二) 外键配置实现级联删除 ruby -- 基础学习(三)设置中国时区时间 ruby -- 基础学习(四)TimeDa ...

  5. CSS3入门之文本与字体

    1.CSS3文本效果 1.1.text-shadow文本阴影 语法:text-shadow: h-shadow v-shadow blur color;(<水平阴影>,<垂直阴影&g ...

  6. MongoDB的学习--索引

    索引可以用来优化查询,而且在某些特定类型的查询中,索引是必不可少的.为集合选择合适的索引是提高性能的关键. 先来mock数据 for (i = 0; i < 1000000; i++) { db ...

  7. win10 svchost.exe (LocalSystemNetworkRestricted)大量读写数据

    博主的笔记本联想Y50开机完毕后会不停滴读硬盘/写硬盘,导致开机后一段时间内无法正常使用电脑(硬盘读写高峰期).打开资源监视器发现是"svchost.exe (LocalSystemNetw ...

  8. MVC的控制器的激活过程,我们从MvcHandler开始讲,前面的事情以后再讲

    一.从MvcHandler开始(不要觉得是代码,让你看懂才是最重要的) using Microsoft.Web.Infrastructure.DynamicValidationHelper; usin ...

  9. react路由深度解析

    先看一段代码能否秒懂很重要 这是app.js  全局js的入口 import React from 'react' import { render } from 'react-dom' import ...

  10. 3.openstack之mitaka搭建keystone认证服务

    认证服务keystone部署 一:安装和配置服务 1.建库建用户 mysql -u root -p CREATE DATABASE keystone; GRANT ALL PRIVILEGES ON ...