Centos 7.4 给网站添加 HTTPS协议

2020-02-08  本文已影响0人  squidbrother
概述

网站传输信息过程,经过若干的运营商和基站,出于道德非道德,合法不合法手段,你的传输信息很容易被拿走泄漏
为此我们需要为网站添加更加安全的https协议,而非http协议

添加方法

ssl证书:ssl就是安全套接层,是Netscape所研发,用以保障在Internet上数据传输的安全,利用 数据加密(Encryption)技术,可确保数据在网络上之传输过程中不会被截取及窃听的一种应用软件。
它已被广泛地用于web浏览器与服务器之间的 身份认证和加密数据传输

【HTTP 】

【HTTPS】

使用https协议,需要一个ssl证书

流程

1.登录免费ssl证书申请网站 --> getting started

2.使用cerbot来申请ssl证书,其官网 --> 选择 对应的web服务器与操作系统,按照提示进行安装

certbot选择你对应的安装方式
针对centos7.4开始安装

环境:
nginx的Web服务器、 Centos7.4的操作系统
具体官网链接

1.管理员身份通过ssh方式,进入服务器

2.选择可选通道

yum -y install yum-utils
yum-config-manager --enable rhui-REGION-rhel-server-extras rhui-REGION-rhel-server-optional

3.安装Certbot
yum install certbot python2-certbot-nginx

4.获得证书 ( 使用Nginx插件进行认证和安装 )
certbot --nginx

4-2.如果这一步成功,且没有报错的话,那么你需要填写几个配置问题
如:

配置完毕!!

Congratulations! You have successfully enabled https://xxx.com

如果重启阿里云服务器后,无法访问https网址,记得去开启443端口,详细见底部【各种安装包错】

5.设置自动更新证书
由于let’s encrypt证书有效期只有三个月,到期需要再次申请,使用certbot 自动更新功能,维护证书更新
官方的文档:
echo "0 0,12 * * * root python -c 'import random; import time; time.sleep(random.random() * 3600)' && certbot renew" | sudo tee -a /etc/crontab > /dev/null

但是更新证书,重启nginx服务器之外;还有其他应用本身的web服务需要启动,需要关注pm2,或者手动关注...这块如何进一步实现自动化,待解决.......

certbot指令

certbot certificates --- 显示域名,到期时间,证书路径,私钥路径的信息 ( 需要等待一会儿 )
certbot renew --- 手动更新证书(快过期30内才可以执行)
certbot renew --force-renewal --- 强制更新证书(忽略更新证书的30天限制)
crontab -e --- 开启定时任务

证书配置文件 路径
/etc/letsencrypt/renewal/域名.conf

报错集锦与卸载证书

各种安装报错
卸载证书流程

上一篇下一篇

猜你喜欢

热点阅读