linux环境使用Certbot配置https

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配置:


 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

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

你可能感兴趣的:(操作系统,运维,网络)