Amazon CloudFront 502 cannot connect to origin

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

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

Amazon CloudFront 要求的加密算法:

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

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

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

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

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

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

里面包括了 Amazon 所要求的算法:

备注: