使用StartSSL为网站添加SSL

JellyBool

JellyBool

StartSSL证书的有效期为一年,到期后重新申请即可

1.验证域名

  1. 进入Control Panel(没注册的请先注册;可能需要点击Authenticate并使用上一步生成的证书才能看到图示的页面),选择Validations Wizard,类型选择Domain Name Validation

  2. 输入域名。

  3. 选择一个有效的邮箱接收验证码,可以使用域名WHOIS中的邮箱或默认网站管理者邮箱

  4. 收到邮件后,输入邮件中的验证码。

  5. 域名所有者验证成功。

2.生成证书

  1. 选择Certificates Wizard进入SSL证书生成向导,证书目标选择Web Server SSL/TLS Certificate

  2. 输入10-32位密码生成秘钥。

  3. 备份秘钥,将文本框内的内容保存成一个文本文件,如ssl.key

  4. 选择上一步验证了的域名。

  5. 添加子域名。

  6. 确认域名子域名信息,准备生成证书。

  7. 备份生成的证书,将文本框内容保存成一个文本文件,如ssl.crt

  8. 在下面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

本文由 JellyBool 创作, 转载和引用遵循 署名-非商业性使用 2.5 中国大陆 进行许可。

共有 10 条评论

schaffer
修改的评论也不能少于六个字哦!
JellyBool
修改的评论也不能少于六个字哦!
YAOLONG-01
修改的评论也不能少于六个字哦!
去西藏的小皮
修改的评论也不能少于六个字哦!
jiji262
修改的评论也不能少于六个字哦!
jayan2358
修改的评论也不能少于六个字哦!
JellyBool 回复 jayan2358
修改的评论也不能少于六个字哦!
ftrt
修改的评论也不能少于六个字哦!
kaakuu
修改的评论也不能少于六个字哦!
matiascx
修改的评论也不能少于六个字哦!
JellyBool 回复 matiascx
修改的评论也不能少于六个字哦!