今天在阿里云客服打电话说可以申请免费的ssl证书,趁着在家休息就给服务器装了安装了一下,在安装之前我们先了解一下ssl证书(部分图片没有放出来,详细请参考www.xiaoxiaohong.cn/2022/01/14/…
什么是ssl证书?
ssl证书是一种资料加密协议,我理解为类似我们的驾驶证,只不过这个证书是安装在服务器上的,可以在互联网上证明自己的身份,有了ssl证书之后,服务器会通过这个证书来告诉用户,这个服务器是值得信赖的。
-
ssl证书可以保证数据传输过程中的完整性。
-
可以将加密的文件资料安全的送达目的地。
-
通过ssl证书里的公钥加密资料传送到服务器,服务器再用私钥来解密证明自己的身份。
没有ssl证书就会显示不安全的服务器链接,在浏览器里我们最容易见到的就是
所有很有必要对服务器安装ssl证书。
申请ssl证书
以我的阿里云服务器为例,进入工作台搜索ssl证书,右侧:
-
创建证书
-
填写申请,输入域名信息、手机号等等
-
验证,提交审核,大概三四个小时之内就会审核通过。审核通过之后,我们点击下载,根据自己的服务器下载对应的证书,以我的nginx为例
-
服务器安装ftp服务-vsftpd
yum install -y vsftpd
-
2.修改配置文件
vim /etc/vsftpd/vsftpd.conf anonymous_enable=No #禁止匿名用户登录
-
下载到本地之后,我们需要通过Filezilla软件来连接到服务器,然后上传ssl证书,打开服务器所在的目录(右边),然后在我们本机上(右边)找到刚才下载的包,双击即可
部署ssl证书
-
找到刚才文件上传的地方
cd /home/chenxiaohong ll unzip 文件名
-
解压之后会有两个文件一个是~.key结尾的一个是~.pem结尾的
-
分别将这两个文件copy到/etc/ssl目录下,任何目录都可以,自己知道即可方
cp ~.pem /etc/ssl/ cp ~.key /etc/ssl/
-
进入ssl目录下,将~.pem修改为~.crt
cd /etc/ssl/ mv ~.pem ~.crt
-
打开nginx配置文件进行配置
vim /etc/nginx/nginx.conf
-
这是我的配置,将~.crt和~.key改为自己的目录即可,将location中root改为自己站点的目录,同时指定网站首页
server { listen 443 ssl; # listen [::]:443 ssl http2 default_server; server_name xiaoxiaohong.cn; root /home/hexo; ssl_certificate "/etc/ssl/7094406_www.xiaoxiaohong.cn.crt"; ssl_certificate_key "/etc/ssl/7094406_www.xiaoxiaohong.cn.key"; ssl_session_cache shared:SSL:1m; ssl_session_timeout 10m; ssl_ciphers PROFILE=SYSTEM; ssl_prefer_server_ciphers on; # # Load configuration files for the default server block. include /etc/nginx/default.d/*.conf; location / { root /home/hexo; index index.html; }
-
通过nginx -t 命令来查看是否配置正确,正确之后通过 systemctl restart nginx.service 命令重启nginx服务器。
-
这时候通过https方式访问域名一般是不会打开站点的,阿里云为了安全,在工作台做了限制,我们需要通过修改设置防火墙来通过。
-
设置完成后,还需要到服务器上查看防火墙服务的开放端口有没有443
firewall-cmd --zone=public --list-ports #看开放了哪些端口 firewall-cmd --zone=public --add-port=443/tcp --permanent #没有则将443添加进去 systemctl restart firewalld #重启防火墙服务
-
再次访问https开头的域名即可打开~
-