StartSSL证书的有效期为一年,到期后重新申请即可
1.验证域名
进入Control Panel(没注册的请先注册;可能需要点击Authenticate并使用上一步生成的证书才能看到图示的页面),选择
Validations Wizard
,类型选择Domain Name Validation
。输入域名。
选择一个有效的邮箱接收验证码,可以使用域名WHOIS中的邮箱或默认网站管理者邮箱
收到邮件后,输入邮件中的验证码。
域名所有者验证成功。
2.生成证书
选择Certificates Wizard进入SSL证书生成向导,证书目标选择
Web Server SSL/TLS Certificate
输入10-32位密码生成秘钥。
备份秘钥,将文本框内的内容保存成一个文本文件,如
ssl.key
。选择上一步验证了的域名。
添加子域名。
确认域名子域名信息,准备生成证书。
备份生成的证书,将文本框内容保存成一个文本文件,如
ssl.crt
。在下面
intermediate
链接中下载中间证书sub.class1.server.ca.pem
3.解密秘钥
进入StartSSL的Tool Box
---> Decrypt Private Key
,生成的内容另存为文件,如ssl_de.key
4.上传和配置文件
将得到的ssl.key
, ssl.crt
, ssl_de.key
,sub.class1.server.ca.pem
上传到服务器
scp -r ssl root@Your_host_ip:
假设你将得到的四个文件放在ssl的文件夹内,你可以通过上面的命令行将文件上传到你的服务器,我用的是阿里云的ECS。
ssh root@Your_host_ip
上传完成之后,用ssh登录服务器,就可以看到上传的ssl
文件夹了
mv ssl /etc/nginx/
cd /etc/nginx/ssl
首先将ssl文件夹移到/etc/nginx/
目录下,进入目录,执行下面的命令
cat ssl.crt sub.class1.server.ca.pem > ssl-unified.crt
这个命令会得到一个ssl-unified.crt
文件,用vim打开
vim ssl-unified.crt
找到中间部分的
-----END CERTIFICATE----------BEGIN CERTIFICATE-----
修改为
-----END CERTIFICATE-----
-----BEGIN CERTIFICATE-----
保存文件,然后,
chmod 600 /etc/nginx/ssl/ssl.key
到此,文件准备完毕i
5.配置服务器
打开站点的配置文件:
vim /etc/nginx/sites-available/default
找到HTTPS Server的配置区域,去掉注释,设置证书路径
ssl on;
ssl_certificate /etc/nginx/ssl/ssl-unified.crt;
ssl_certificate_key /etc/nginx/ssl/de_ssl.key;
如果你想在http协议下也跳转到使用https,在HTTP Server下设置
server {
listen 80 ;
server_name your_domain.com;
rewrite ^/(.*) https://your_domain.com/$1 permanent;
}
保存,重启nginx
service nginx restart
在浏览器输入
https://your_domain.com
不出意外,你就可以成功地在你的站点上使用ssl了,
Happy Hacking