1.生成csrkey
#生成CSR与KEY
openssl req -new -newkey rsa:2048 -nodes -keyout ssl.key -out ssl.csr
之后可以看见生成出来一个ssl.csr和ssl.key文件。复制ssl.csr的内容去申请,Namecheap Comodo SSL。
#打印ssl.csr
cat ssl.csr
那么复制好ssl.csr就可以准备去申请Namecheap的Comodo SSL证书了。
2.获取Namecheap Comodo SSL
1.进入Namecheap的SSL产品出,激活Comodo SSL,首先复制之前生成的CSR内容进去。
域名可以自动被识别出来。
2.选择你的服务器类型,这类选择Nginx。
3.选择验证域名所有权的方式,这类我选择通过DNS方法来验证。
ps:邮件验证的话得去注册一个以你自己的域名命令的邮箱,如你的域名为xxxx.com
就注册一个邮箱列如:webmaster@xxxx.com
用这个邮箱来进行验证(如果长时间不能收到邮件,请耐心等待或者多发几次)
4.填写接收Comodo SSL证书的邮箱。
5.确认你的验证方式与接收SSL证书的邮箱。
6.稍等一段时间,Namecheap会将Comodo SSL证书的文件发送到你的邮箱里。将其下载下来即可。
0x02 合并证书与激活证书
1.将Namecheap发送给你的SSL证书文件下载到自己电脑上,或者VPS上。
可以发现SSL证书主要为2个文件,一个为xxx.ca-bundle,另一个为xxx.crt。
2.此时我们需要将xxx.ca-bundle复制到xxx.crt文件中,将其合并为一个crt文件。个人推荐在Linux上使用cat与标准输出来合并。如果你还是喜欢直接复制粘贴的话,那么将xxx.ca-bundle复制到xxx.crt合并为一个crt文件保存即可。
#合并ca-bundle与crt
cat xxx.crt xxx.ca-bundle > ssl.crt
注意文件的顺序
3.合并完毕后,一定要打开或者打印检查,是否有——Begin——与——End——重贴在一行了(简略的表达先我要表达的意思了),如果没有问题,将xxx.crt文件传到/root/目录中(任意目录,此处以为/root/为例)。
4.将第一步生成的ssl.key也复制到/root/目录中。
5.Nginx配置
vim /usr/local/nginx/conf/vhost/xxx.config
修改如下位置
server
{
listen 80;
listen 443 ssl;
#listen [::]:80;
ssl on;
ssl_certificate /root/ssl.crt;
ssl_certificate_key /root/ssl.key;
server_name www.xzymoe.tk xzymoe.tech;
index index.html index.htm index.php default.html default.htm default.php;
root /home/wwwroot/www.xzymoe.tech;.....
server
{
listen 80;
server_name www.xzymoe.tech xzymoe.tech;
return 301 https://www.xzymoe.tech$request_uri;
}
搬运自https://www.xzymoe.com/nginx-namecheap-comodo-ssl-config/