Amazon CloudFront 502 cannot connect to origin

作者:


最后更新于 | 最初发布于 | 分类:


这是之前我在转用 Amazon CloudFront 的时候,遇到的一个问题,我用的是 Custom origin,是以本站的原始服务器作为源,没有使用 Amazon 的 S3。当配置完成 CDN 生效后,在访问的时候出现了 502 错误,显示 cloudfront cannot connect to origin。

在仔细检查后,发现了问题,其实在一年前或者更久之前已经遇到过这个坑了。
那就是 Amazon CloudFront 只支持有限的几个加密协议。而恰巧本站当时的加密协议中没有这几个。

Amazon CloudFront 要求的加密算法:

  • ECDHE-RSA-AES128-SHA
  • ECDHE-RSA-AES256-SHA
  • AES256-SHA
  • AES128-SHA
  • DES-CBC3-SHA
  • RC4-MD5

源服务器必须支持上面的任意一种,来建立 SSL 连接。

我的服务器之前是使用椭圆曲线算法,支持的加密协议没有包括上面的。

为了修复这个问题,我重新签发了证书,新签了一个 RSA 的证书,然后在 Nginx 配置文件里,使用了双证书。

同时使用了 ECC 和 RSA 的证书。然后修改了加密算法协议。

重新载入 Nginx 服务器后,就好了。

用 SSLLab 服务器测试工具,可以看到下面所支持的加密算法套件。

ciphers-dualssl.jpg里面包括了 Amazon 所要求的算法:

  • ECDHE-RSA-AES128-SHA
  • ECDHE-RSA-AES256-SHA

备注:

  • Nginx 从 1.11.0 版本后开始支持 双证书的。 参见 https://community.centminmod.com/dualsslcerts
  • CloudFront 的加密算法说明 http://docs.aws.amazon.com/AmazonCloudFront/latest/DeveloperGuide/RequestAndResponseBehaviorCustomOrigin.html#RequestCustomEncryption
  • AWS 关于源服务器连接问题的解决办法 https://aws.amazon.com/premiumsupport/knowledge-center/cloudfront-connectivity-custom-origin/


搜索
关于
David Yin
研究(SEO)搜索引擎优化排名和(PPC)竞价排名技术,总结搜索营销学的各种方法和趋势。专业SEO优化研究,致力于搜索引擎优化技术的普及和推广。
David Yin
Email:seo[AT]g2soft.net
版权说明
如果想转载,而又不明白转载的条件,请看本站的详细版权说明
推荐
Dreamhost Hosting
使用优惠码“save252015”,节省更多,每月只要 $2.59。
归档
标签云
热门标签