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. Java Synchronized Blocks

    From http://tutorials.jenkov.com/java-concurrency/synchronized.html By Jakob Jenkov   A Java synchro ...

  2. XML学习笔记5——XSD复杂数据类型

    和简单数据类型对应就是复杂数据类型了,XML元素的数据类型可以是简单数据类型,也可以是复杂数据类型,而XML属性的数据类型就只能是简单数据类型.这篇笔记,就来学习一下XSD中的复杂数据类型了. 1.定 ...

  3. ASPNET_WEBAPI快速学习02

    这部分内容的学习,已经放了大半年时间了,果断补充上,尽早将过去遗留的老技术坑都补上.首先将介绍服务幂等性的概念和相关解决方案,这部分也将是本文的理解难点,由于WebAPI是一种Restful风格服务的 ...

  4. Unity3D默认的快捷键

    shift +方向键             向“向方向键前进” Windows系统Unity3D中的快捷键 组合键 键 功能 File 文件 Ctrl   N New Scene 新建场景 Ctrl ...

  5. 算法设计和数据结构学习_5(BST&AVL&红黑树简单介绍)

    前言: 节主要是给出BST,AVL和红黑树的C++代码,方便自己以后的查阅,其代码依旧是data structures and algorithm analysis in c++ (second ed ...

  6. 测试servlet学习笔记

    操作方法: 1.新建工程: File——>new——>Java Project——>TestServlet(工程名称)——>Finish. 2.加载servlet-api.ja ...

  7. 只用一行代码让你的ASP.NET MVC 跑起来

    只用一行代码让你的ASP.NET MVC 跑起来 MVC框架一直是企业开发绕不过去的东西,先是JavaEE的 Structs, 然后是 Spring MVC, 再到我们今天要讨论的ASP.NET MV ...

  8. Windows Azure HandBook (9) Azure性能测试(2)

    <Windows Azure Platform 系列文章目录> 在上一节中,笔者介绍了我们在Azure性能测试之前,首先需要提交<渗透性测试表> Windows Azure H ...

  9. 一步一步开发Game服务器(一)

    什么是服务器?对于很多人来说也许只是简单成为在服务器端运行的程序的确如此,服务器通常意义就是说在服务器端运行的程序而已.那么我们怎么理解和分析游戏服务器哪? 传统意义上来说,程序运行后,正常流程, 启 ...

  10. 基于HT的CSG功能构建HTML5的3D书架

    构造实体几何CSG全称Constructive solid geometry,是3D计算机图形学中构建模型的常用技术,可通过合并Union.相减Subtraction和相交Intersction的三种 ...