前言
为网站域名申请SSL/TLS证书是一笔只赚不赔的买卖,全站实现https加密传输至少有以下好处:
- 提升信息传输安全性,内容防篡改;
- 防止中间环节(比如运营商)对通信双方造成的干扰(比如插入广告或宽带到期提醒。。。);
- 提升站点档次,获得访问者认可;
- 提高搜索引擎排名
- 提升浏览器信任度
目前https证书系统已成为互联网通信公认基础要素,如果你的网站仍然使用http协议,赶紧去腾讯云免费申请一个吧~
腾讯云申请免费ssl证书步骤
登录腾讯云,管理控制台,找到ssl证书
选择免费证书 -> 点击”申请免费证书”按钮(一个账户限额50张)
弹出窗口中,继续点击”申请免费证书”
填写域名认证信息
证书绑定域名,比如填写一个二级域名,那么这个证书就和该域名绑定;
域名验证方式,选择”手动DNS验证”,需要到域名服务商那里,增加1个cname解析;
算法选择”RSA”,默认即可;
验证域名
登录域名服务提供商控制面板,按照页面提示,增加cname解析值,如下:
添加完成后,等1分钟,点击申请验证按钮,即完成申请,此时会收到腾讯云发送的短信。
下载证书(Nginx)
上传证书并解压,该目录下存放4个文件:
- blog.wisepkg.com.csr
- blog.wisepkg.com.key
- blog.wisepkg.com_bundle.crt
- blog.wisepkg.com_bundle.pem最后一步,配置nginx, 首先给nginx对应的80端口设置转发规则:
1
2
3
4
5
6
7...
server {
listen 80;
server_name blog.wisepkg.com;
rewrite ^(.*)$ https://$host$1 permanent;
}
...进入/etc/nginx/conf.d目录,创建1个独立配置文件,blog.wisepkg.com.conf,配置内容如下:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20server {
listen 443 ssl;
server_name blog.wisepkg.com;
# 配置该域名访问日志,确保目录存在
access_log /var/log/nginx/blog.wisepkg.com/access.log;
# 错误日志,确保目录存在
error_log /var/log/nginx/blog.wisepkg.com/error.log;
ssl_certificate /opt/ssl/blog.wisepkg.com/blog.wisepkg.com_bundle.crt;
ssl_certificate_key /opt/ssl/blog.wisepkg.com/blog.wisepkg.com.key;
ssl_session_timeout 5m;
ssl_protocols TLSv1 TLSv1.1 TLSv1.2;
ssl_ciphers ECDHE-RSA-AES128-GCM-SHA256:HIGH:!aNULL:!MD5:!RC4:!DHE;
ssl_prefer_server_ciphers on;
location / {
root /home/ec2-user/blog.wisepkg.com/public;
index index.html;
}
}验证配置正确性。
1
2
3nginx -t
nginx: the configuration file /etc/nginx/nginx.conf syntax is ok
nginx: configuration file /etc/nginx/nginx.conf test is successful重载或重启nginx进程
1
2
3
4# 重载
nginx -s reload
# 重启
systemctl restart nginx
讲到这里,ssl证书的申请和配置已经差不多交代清楚,但还有1个问题需要补充,如何对同一个IP配置多个ssl证书,绑定不同的域名呢?
凭借Nginx易用性,只需要像上面那样,再多加1个80和443的配置文件即可!