AWS Educate Starter Account(教育AWS)使用CloudFront(CDN)上传SSL证书

教育AWS申请地址:https://aws.amazon.com/tw/education/awseducate/

具体这里就不多说了

教育AWS限制挺多的,VPS只能开美东-1的EC2,感觉上是比较废的

虽然可以开CloudFront,但是又没有ACM权限(申请SSL证书的),也就没办法绑定域名

总而言之言而总之,一般情况下,教育AWS的CloudFront就是个废物,因为没办法绑定域名
但最近得知,虽然网页控制台无法访问Certificate Manager(提示无ACM权限),但却可以通过AWS CLI上传证书

遂尝试了一番,确实可行

本文就只说上传证书,其他关于CloudFront的配置就不多说了

安装AWS CLI

官方文档:https://docs.aws.amazon.com/cli/latest/userguide/install-cliv2.html

如果你也是使用的Linux x64,直接用这个命令即可

  1. curl "https://awscli.amazonaws.com/awscli-exe-linux-x86_64.zip" -o "awscliv2.zip"
  2. unzip awscliv2.zip
  3. sudo ./aws/install

获取AWS CLI的access_key

登录AWS Account Status后,如图

AWS Educate Starter Account(教育AWS)使用CloudFront(CDN)上传SSL证书

AWS Educate Starter Account(教育AWS)使用CloudFront(CDN)上传SSL证书

将上面框框内的内容写到~/.aws/credentials
如果是Windows的话,路径应该是C:\Users\你的用户名\.aws\credentials。没试过,如果不对的话请指出

最后新增一行写region=region=us-east-1

就像这样

  1. aws_access_key_id=xxxxxx
  2. aws_secret_access_key=xxxxx
  3. aws_session_token=xxxxxxxxxxxxxxxxx
  4. region=us-east-1

注:这个access_key是有时效性的,如果使用AWS CLI返回了access_key无效,需要登录AWS Account Status重新复制一下

上传证书

官方文档:https://docs.aws.amazon.com/zh_cn/cli/latest/reference/iam/upload-server-certificate.html

  1. aws iam upload-server-certificate \
  2. --path /cloudfront/aws/ \
  3. --server-certificate-name myServerCertificate \
  4. --certificate-body file://public_key_cert_file.pem \
  5. --private-key file://my_private_key.pem \
  6. --certificate-chain file://my_certificate_chain_file.pem

参数说明
--path (aws上的)证书路径
--server-certificate-name 证书名
--certificate-body 证书公钥文件路径(路径前加file://)
--private-key 证书私钥文件路径(路径前加file://)
--certificate-chain 证书链文件路径(路径前加file://)

其他命令

列出(已上传)证书

  1. aws iam list-server-certificates

删除证书

  1. aws iam delete-server-certificate --server-certificate-name 证书名
阅读剩余
THE END