近两年互联网安全越来越多的进入到人们的视线。Google,Mozilla 等大厂也一直在持续推进 https ,目前来看,成效显著。
今天记录一下使用免费 开源的证书机构 Let’s Encrypt 配合 certbot 完成基于 nginx 的 https 配置。
准备工作
- 需要有一个正式的域名,并且正常添加了对域名的解析。
- 需要有基础的 nginx 知识。web服务器不一定是
nginx
,其他的很多都支持,本文以 nginx
为例,具体可以参考 certbot 官网。
nginx 的操作
- 以
blogs.zeed-w-beez.com
这个域名为例。
- 在
/etc/nginx/cond.d/
目录下创建一个新文件 blogs.zeed-w-beez.com.conf
内容如下。
server { server_name blogs.zeed-w-beez.com; ### 这里替换为自己的域名。 root /usr/share/nginx/html; ### 这里是程序的目录。
# Load configuration files for the default server block. include /etc/nginx/default.d/*.conf;
location / { }
error_page 404 /404.html; location = /40x.html { }
error_page 500 502 503 504 /50x.html; location = /50x.html { }
}
|
安装 certbot: 一个 Agent 用来自动生成证书
- 根据certbot官网提示选择Web服务器和操作系统。
sudo yum -y install yum-utils sudo yum-config-manager --enable rhui-REGION-rhel-server-extras rhui-REGION-rhel-server-optional
sudo yum install certbot python2-certbot-nginx
sudo certbot --nginx
sudo certbot certonly --nginx
sudo certbot renew
sudo 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
|
默认证书有效期三个月。配置了定时任务之后,会自动续期