我的设置
我用EC2来托管我的应用,用AWS路由53来引导url,用cloudfront来获取我应用的静态文件。现在cloudfront使用的是不友好的域名。*.cloudfront.net
.
我在EC2内使用certbot提供SSL连接。
当我试图更改 cloudfront 域名时,我使用了 Custom SSL Certificate
由ACM(AWS证书管理器)生成。而我遇到了错误。
com.amazonaws.services.cloudfront.model.InvalidViewerCertificateException: The certificate that is attached to your distribution doesn't cover the alternate domain name (CNAME) that you're trying to add. For more details, see: https://docs.aws.amazon.com/AmazonCloudFront/latest/DeveloperGuide/CNAMEs.html#alternate-domain-names-requirements (Service: AmazonCloudFront; Status Code: 400; Error Code: InvalidViewerCertificate; Request ID: 2d39c685-bf17-4d24-9c4b-82955daa878f; Proxy: null)
ACM证书是在N.Virginia生成的,这很好,因为我的EC2是在那里托管的。我使用以下方法生成了证书 *.example.com
而且是经过验证的。
我不知道该如何解决。有什么建议吗?
这将是由于你所提供的ACM证书使用了无效的域名造成的。
因为生成的ACM证书是*.example.com,只能使用1级深度子域。
为了进一步解释这个问题。
因为它是在ACM中生成的,我们可以验证这个证书是兼容的,只要它满足了 以下条件.
要使 SSL 对根域和子域起作用,它必须同时包含 example.com 和 *.example.com 才能在 CloudFront 中正确工作。