笔者搭建了一个PHP代理的谷歌搜索页面,为了防止被-墙,就研究了一下怎么建立HttpS链接增强安全性,过程比较简单,按照步骤操作基本就能完成安装。
1、获得免费的ssl安全证书申请。
SSL证书需要向国际公认的证书证书认证机构(简称CA,Certificate Authority)申请。
CA机构颁发的证书有3种类型:
域名型SSL证书(DV SSL):信任等级普通,只需验证网站的真实性便可颁发证书保护网站;
企业型SSL证书(OV SSL):信任等级强,须要验证企业的身份,审核严格,安全性更高;
增强型SSL证书(EV SSL):信任等级最高,一般用于银行证券等金融机构,审核严格,安全性最高
使用SSL的目的是保证域名/站点的安全性,稳定性,兼容性也要考虑,下面是市面上可以提供免费CA证书的机构:
腾讯云SSL证书管理(赛门铁克TrustAsia DV SSL证书)
阿里云云盾证书服务(赛门铁克DV SSL证书)
百度云SSL证书服务
Let’s Encrypt
Let’s Encrypt免费证书期限均为3个月,证书支持泛多个域名。
友情提示:Firefox, Chrome等浏览器明确表示弃用的CA厂商:
StartSSL免费DV证书
沃通(Wosign)免费DV证书
主机记录 –> CName记录类型 –> 记录值
例如为申请证书的域名 www.domain.com 添加一条记录类型为CNAME的DNS记录:sr5jtl1xxxxxxxmygdps.domain.com –> CNAME –> s2015xxxxxxxx.domain.com
,以云解析平台为例说明如何进行操作:
- 记录类型选择为CNAME
- 主机记录处填子域名,比如需要添加sr5jtl1xxxxxxxmygdps.domain.com的解析,只需要在主机记录处填写sr5jtl1xxxxxxxmygdps即可,不需要填写主域名domain.com
- 线路类型选择默认
- 记录值为CNAME指向的域名,只可以填写域名,此处为s2015xxxxxxxx.domain.com,注意记录值须完整填写
- TTL选择默认值10分钟即可
解析添加成功后如下:
sr5jtl1xxxxxxxmygdps.domain.com 的指向系统会定时检查,若能检测到并且与指定的值匹配,即可完成域名所有权验证。
2、部署网站的SSL安全证书
2.1下载已经申请好的免费SSL证书
下载好我们申请好的证书文件并解压,我们可以看到里面有针对各种环境的SSl证书。
因为这里我们是用LNMP一键安装包搭建的网站,所以这里我们是用的NGINX WEB环境的,所以我们需要解压FOR NGINX.ZIP文件包,然后看到一个CRT文件一个KEY文件。
2.2上传和部署SSL证书
(1) 把上面的CRT与KEY文件上传到VPS ROOT目录中,然后改成SSL.CRT和SSL.KEY文件名。
(2)解密私钥和设置权限
openssl rsa -in ssl.key -out /root/ssl.key
chmod 600 /root/ssl.key
登录SSH,执行上述两行脚本,解密私钥和授权。
2.3在LNMP环境部署站点SSL设置
在”/usr/local/nginx/conf/vhost/”目录文件中,找到对应站点的conf文件,然后修改设置如下
server
{
listen 80;
listen 443 ssl;
#listen [::]:80;
ssl on;
ssl_certificate /root/ssl.crt;
ssl_certificate_key /root/ssl.key;
server_name go.luckyc.cc;
上面的红色文字是我添加的,对应路径我们要与之前上传的CRT和KEY文件路径对应以及文件名对应不要搞错。
最后,我们重启LNMP,可以看到SSL证书生效,且HTTPS可以访问站点。