Let's Encrypt提供的SSL证书是免费的!!!
由于Let's Encrypt签发的证书很可信,但一开始 Let’s Encrypt 的安全证书配置起来比较麻烦,需要手动获取及部署。存在一定的门槛,所以后来有开发了Certbot这个工具,简单的执行几个命令就自动安装好了。
一、先保证你的网站能够访问,我们这里以CENTOS7下的nginx + php环境为例;
二、进入certbot官网,选择软件和系统,我这里是NGINX、CENTOS7;
三、登录到服务器执行如下命令:
sudo yum install certbot-nginx sudo certbot --nginx
执行这步报错了
# Error while running nginx -c /etc/nginx/nginx.conf -t.
说明NGINX配置文件路径不是默认路径,我们加上文件链接
ln -s /usr/local/nginx/sbin/nginx /usr/bin/nginx ln -s /usr/local/nginx/conf/ /etc/nginx
重新执行上一步,安装成功了,用https访问你的站点一切OK,nginx配置文件已经自动加上了证书的配置。
四、http自动转到https,其实很简单:
注释掉#Lisen 80
#listen 80 default_server;
重新写一个80端口的配置,让http重定向到https
server { listen 80; server_name xxx.com; return 301 https://xxx.com$request_uri; }
保存退出,验证一下nginx配置文件是否正确
nginx -t
如果没有问题,重新启动nginx
service nginx restart
由于这个证书是免费使用等原因,这个证书有过期时间,目前是90天,官方有说明,所以我们要在过期前重新更新一下证书
certbot renew
为了不手动去执行,我们可以加到crontab中,定时执行,例如每天凌晨和中午12点分别执行一次
crontab -e 0 0,12 * * * /usr/bin/certbot renew >>/var/log/certbot.log :wq
访客评论