最近在做一个API的项目,放在Amazon EC2上跑,为了提高安全性想把链接搞成HTTPS的。API放在Express上,GoDaddy上面没有Node Server配置的教程,搜到很多教程都是通过AWS Load Balancer来配置的,所以自己把各教程综合了一下,完成了配置。
第一步:买一个SSL证书
我看很多人都是自己签发证书。但是我因为有折扣,打完折之后$3/年,很便宜,就直接从GoDaddy买了。
第二步:生成CSR
买完证书之后,在账户里进行配置的时候发现GoDaddy要求输入CSR。生成CSR这一部分需要在EC2 Instance里面完成。主要是根据Creating And Installing A SSL Certificate On Amazon EC2 里面第1-6步来做的。
1. 生成私钥(private key)
$ openssl genrsa -des3 -out host.key 2048
Generating RSA private key, 2048 bit long modulus
..................................................+++
...............................+++
e is 65537 (0x10001)
Enter pass phrase for host.key:
Verifying - Enter pass phrase for host.key:
注意:(1) EC2里openssl是装好可以直接用的。
(2) pass phrase要记住,后面还要用
2. 用私钥生成certificate signing request,也就是前面所提到的CSR。
$ openssl req -new -key host.key -out host.csr
输入这个命令之后openssl会让你输入上一步里提到的pass phrase,然后在输入若干跟你的网站和公司有关的信息如下。其中Organizational Unit Name和Common Name是最重要的,要输入你的网站的域名,其他可以随便填。
Enter pass phrase for host.key:
You are about to