GoDaddy SSL(UCC/SAN SSL)证书从购买到Nginx配置

Question:项目里有5个域名要添加 https

Answer:

第一 购买ssl key 这边是决定在godaddy 购买 并选择 UCC/SAN SSL 有5个san 而我要保护的刚好是5个域名 这样的好处是费用比较低,但是对运维的要求可能就比较高,很多要运维操作的,而不像国内的,给钱就全搞定了,直接给你个crt文件
官方购买链接
https://sg.godaddy.com/zh/web-security/ssl-certificate

第二 动手操作过程
1) 生成key
openssl req -new -newkey rsa:2048 -nodes -keyout 您的域名.key -out 您的域名.csr
Country Name (2 letter code) [AU]:CN(CN就代表中国)
State or Province Name (full namne) [Some-State]:Guangdong(填省份)
Locality Name (eg, city) []:Shaoguan(填城市名)
Organization Name (eg, company) [Internet Widgits Pty Ltd]:XXX.com
Organizational Unit Name (eg, section) []:DBA
Common Name (e.g. server FQDN or YOUR name) []: 一定要注意 这里要填写 5个SAN中的一个哦 这里填写最终认证的网址,如:xxx.com(加不加www都是可以的,加或不加,godaddy都会同时认证www和不带www的。见godaddy的说明 http://support.godaddy.com/help/article/5343/generating-a-certificate-signing-request?pc_split_value=4)
Email Address []:admin@xxx.com(最好是以域名为后缀的邮箱,填写其它的也行,)
Please enter the following ‘extra’ attributes to be sent with your certificate request
A challenge password []:(留空)
An optional company name []:(留空)

#要注意这个哦 一定要注意 这里要填写 5个SAN中的一个哦
Common Name (eg, your name or your server’s hostname) []:pay.game.com

2)
添加主题备用名称 (SAN)
ucc 添加主题备用名称
https://certs.godaddy.com/cert/advanced/jkl4oaea7onn3qfhjdmecmd7kydjy6c6

3)
(name of your certificate).csr,把里面的内容粘到godaddy的相应表单内,然后等待审核

4) 如果域名不在你的这个帐号中 就要 Verify domain ownership
我一般选择HTML Page 按要求 上传个文件到web目录下

验证 ownship
https://sg.godaddy.com/zh/help/ssl-html-dns-7452
https://sg.godaddy.com/zh/help/verify-domain-ownership-html-or-dns-7452

5)审核过了,去GoDaddy下载生成的证书,选择证书时,服务器类型选择 other ,不要问我为什么 哈哈

这里要注意,下载回来的是2个crt文件,需要运行下面命令把他们合并成一个
教程 http://nginx.org/en/docs/http/configuring_https_servers.html#chains

cat www.mysite.com.crt gd_bundle.crt > mysite_combined.crt

6)修改或者添加 nginx的配置文件

ssl_certificate指向crt文件位置,ssl_certificate_key指向key文件位置(一开始自己生成的那个pri key ),nginx SSL就可以工作了。

server {
#listen [::]:80;
#listen [::]:80 ipv6only=on;
listen 443 ssl;
server_name game.com ;
ssl_certificate /data/game.com.crt;
ssl_certificate_key /data/game.com.key;
ssl_protocols TLSv1 TLSv1.1 TLSv1.2;
ssl_ciphers HIGH:!aNULL:!MD5;

https 测试
打开你添加了key 的那个站点,
或者
https://casecurity.ssllabs.com/

参考
https://www.godaddy.com/help/ssl-certificates-1000006?v=1

Nginx配置GoDaddy SSL证书步骤