在AWS Elastic Load Balancer上安装SSL Cert有点困难。 我有一个来自GoDaddy的通配证书,需要在ELB上指出。
我运行了命令(我在负载平衡器后面的一台服务器上运行了它):
openssl req -new -newkey rsa:2048 -nodes -keyout mydomain.key -out mydomain.csr
然后我发送了.csr文件到GoDaddy。 在这一点上,他们已经返回一个带有两个文件的zip文件夹: gd_bundle.crt和mydomain.com.crt 。 在看gd_bundle.crt时,它似乎有两个唯一的关键字(两个64位编码的string)。
亚马逊ELB要求公钥和私钥,并基于我所做的事情,我不确定哪个是什么。 从这一点,我不知道该怎么做才能得到这一切加载。
任何帮助将不胜感激。
私钥是与CSR一起生成的mydomain.key。
GoDaddy向您发送的是公钥(由GoDaddy签署的证书文件mydomain.com.crt),以及GoDaddy的中间证书链,完成证书和最终用户浏览器之间的信任链知道(gd_bundle.crt文件)。
我不是特别熟悉ELB,但看看这个文档页面:
您将提供私钥的mydomain.key文件,公钥的mydomain.com.crt文件和证书链的gd_bundle.crt文件。
安装说明可以在这里find: http : //aws.amazon.com/cli/
# define these crtdomain="example.com" crtchain="gd_bundle.crt" echo "converting to pem format" openssl rsa -in ${crtdomain}.key -out aws-${crtdomain}.key openssl x509 -in ${crtdomain}.crt -out aws-${crtdomain}.crt -outform PEM echo "uploading certificate ${crtdomain} to Amazon" aws iam upload-server-certificate \ --certificate-body file://aws-${crtdomain}.crt \ --private-key file://aws-${crtdomain}.key \ --certificate-chain file://${crtchain} \ --server-certificate-name ${crtdomain}
来源: http : //brakertech.com/ec2-elb-godaddy-cert/
如果你在text editor打开你的文件,你会看到
-----BEGIN CERTIFICATE----- ... -----END CERTIFICATE----- -----BEGIN PRIVATE KEY----- ... -----END PRIVATE KEY-----
链可能是gd_bundle.crt

我给了我的certificate name与公钥mydomain.com.crt相同的名称
Private Key来自于创buildPrivate Key的文本版本:
sudo openssl rsa -in /etc/ssl/certs/mydomain.key -text
(这将是你的文件在服务器上的path) /etc/ssl/certs/
Public Key最有可能是mydomain.com.crt
Certificate Chain可能是gd_bundle.crt