如何给网站增加安全认证Https
🍉 我们知道网站一般有2种访问协议,http
和https
。
http是一个简单的请求-响应协议,http访问的网站通常浏览器会有个感叹号,显示不安全。
https是在HTTP的基础上加入SSL,通过传输加密和身份认证保证传输过程的安全性,访问网站会显示一把锁,显示连接是安全的。
配置https安全通道主要分为购买证书、申请认证、下载证书、上传证书到web服务器、配置站点ssl...
此文以nginx和阿里云为例进行讲解。
# 购买SSL证书
首先证书分为:单域名、通配符域名、多域名证书
- 单域名:只能绑定一个域名,例如:www.abc.com 或 abc.com。无法绑定子域名
- 通配符域名:可以绑定一个主域名和多个子域名,不限个数,例如:abc.com,my.abc.com,kk.abc.com...
- 多域名:可以绑定不同的域名,可以是主域名也可以是子域名,数量有限制
阿里云域名账号每年可以免费购买20个证书,有效期为1年
1.进入阿里云控制台=》SSL证书=》免费证书=》立即购买

# 申请认证
1.进入ssl证书管理页面=》免费证书,可以看到已经有20个创建数量,点击创建证书,列表增加了一个待申请的项

2.点击证书申请,填写信息,提交审核

注意域名验证方式有自动DNS验证和手动DNS验证,因为我的是阿里云服务器默认选自动验证,如果非阿里云服务器,需要手动DNS验证。
信息填写完毕最后提交审核
3.进行DNS验证,如果是手工验证方式需要先到域名控制台配置域名解析
第二步提交审核成功后,会出现如下界面
复制红框处的信息,前往域名控制台配置域名解析,ps:如果是自动DNS验证可以跳过此步骤,系统会自动配置好
添加记录成功后,返回证书申请界面点击验证,验证成功,再提交审核
成功提交后,静等个几分钟,会邮件通知签发完成,接下来就可以下载证书进行配置了
# 下载证书
回到ssl证书管理列表,找到刚签发成功的证书,点击下载,下载对应的web服务器证书,我这里用的是nginx,我就下载nginx的
下载的文件为一个压缩包,解压后主要包含2个文件,xxxx.pem,xxx.key
# 上传证书到Web服务器
登陆Linux定位到nginx的安装目录,找到conf目录,在此目录下新建文件夹cert
cd /usr/local/webserver/nginx/conf
mkdir cert
2
使用ftp工具把下载的证书上传到cert目录
证书上传完成
# 配置站点SSL
# 1.编辑nginx配置文件nginx.conf
cd /usr/local/webserver/nginx/conf
vim nginx.conf
2
将原来注释的server listen 443 ssl配置,增加或编辑,改为关联自己的站点,增加新的站点也是按此方式配置
server {
listen 443 ssl;
server_name www.luckyzp.top;
# 上传的证书的位置
ssl_certificate cert/9806668_www.luckyzp.top.pem;
ssl_certificate_key cert/9806668_www.luckyzp.top.key;
# ssl_session_cache shared:SSL:1m;
ssl_session_timeout 5m;
ssl_ciphers HIGH:!aNULL:!MD5;
ssl_protocols TLSv1.1 TLSv1.2 TLSv1.3;
ssl_prefer_server_ciphers on;
# 站点路径
location / {
root /home/wwwroot/myblog/;
index index.html;
try_files $uri $uri/ /index.html;
autoindex on;
}
}
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
保存修改,运行命令编译,再重启nginx就配置完成了...
nginx -t
nginx -s stop
ngix
2
3
然后我们在浏览器输入地址验证,可以看到网站已经带安全标志了

# 2.配置http跳转到https
最后一步还需要把原来的http设置跳转到新的https,我们知道在浏览器输入xxx.com默认访问的是http 80端口, 跳转到https 443端口,有2种方式,1是使用rewrite重写url,2是通过301重定向到https,这里推荐使用第2种方法
server {
listen 80;
server_name luckyzp.top;
# 将所有HTTP请求通过重定向到HTTPS。
return 301 https://$host$request_uri;
}
2
3
4
5
6
OK,全部操作完成了,以上就是设置网站安全认证的全部流程