Certbot是一个易于使用的自动客户端,可为您的Web服务器提取和部署SSL / TLS证书。
获取certbot-auto
wget https://dl.eff.org/certbot-auto
给certbot-auto加执行权限
chmod a+x certbot-auto
执行生成证书
./certbot-auto certonly --webroot
-w 你的网站目录
-d 你的域名
-m 你的邮箱
--agree-tos
参数说明:通过 ./certbot-auto –help all 可以查看所有支持的子命令和参数。
- –standalone模式:需要停止当前的webserver服务,让出80端口,由客户端内置的web server启动与Let`s Encrypt通信。
- –webroot模式:不需要停止当前webserver,但需要在域名根目录下创建一个临时目录,并要保证外网通过域名可以访问这个目录。
- -w 指定网站所在目录
- -d 指定网站域名
- -m 指定联系邮箱,letsencrypt会在证书过期前发送预告的通知邮件
- –agree-tos 表示接受相关协议
配置apache、nginx相关文件
apache配置:
<VirtualHost *:443>
ServerName 你的域名:443
DocumentRoot "你的网站目录"
SSLEngine on
SSLCertificateFile /etc/letsencrypt/live/DIR/fullchain.pem
SSLCertificateKeyFile /etc/letsencrypt/live/DIR/privkey.pem
SSLCertificateChainFile /etc/letsencrypt/live/DIR/chain.pem
</VirtualHost>
nginx配置:(可直接复制下面放到nginx.conf中)
server
{
listen 443 ssl http2;
ssl_certificate /etc/letsencrypt/live/DIR/fullchain.pem;
ssl_certificate_key /etc/letsencrypt/live/DIR/privkey.pem;
}
DIR表示你自己的域名
Tips
如果服务器没有开启443端口,可执行下面命令开启
开启443端口
firewall-cmd –permanent –add-port=443/tcp
查看是否开启
firewall-cmd –permanent –query-port=443/tcp
端口添加成功后,防火墙需要刷新
firewall-cmd –reload