可以按照以下步骤在ubuntu服务器上安装 Let’s Encrypt SSL 证书:
1、首先,需要在服务器上安装 Certbot 和 Certbot 的 Nginx 插件。可以通过运行以下命令来完成这个步骤:
sudo apt update
sudo apt install certbot python3-certbot-nginx
2、一旦 Certbot 和插件安装完成,可以运行 Certbot 并指定 Nginx 插件。在这个过程中,Certbot 会自动获取一个新的 SSL 证书并配置你的 Nginx 服务器来使用新的证书:
sudo certbot --nginx
在 Certbot 运行过程中,它会要求提供一个电子邮件地址(用于重要通知和恢复丢失的密钥)并同意服务条款。然后,它会列出你的所有 Nginx 站点并让你选择为哪些站点获取证书。
3、Certbot 会自动尝试续签你的证书。你可以通过运行以下命令来测试自动续签:
sudo certbot renew --dry-run
完成这些步骤后,在默认配置下,Certbot 会在证书距离到期不足 30 天时尝试进行自动续订。这是 Certbot 的 renew 命令的标准行为:它会检查所有由 Certbot 管理的证书,并尝试续订那些距离到期不足 30 天的证书。
你的 Nginx 服务器应该已经配置了 SSL 证书,并且证书会在到期前自动更新。
最后,记得确保防火墙设置允许 HTTPS 流量(443 端口)。
4、certbot 如何查看ssl到期状态
在命令行终端中,运行以下命令:
certbot certificates
这将列出 Certbot 管理的所有证书,包括它们的到期日期。
ngnix 配置
server {
listen 8888 ssl;
server_name xxx;
charset utf-8;
client_max_body_size 75M;
listen 443 ssl; # managed by Certbot
ssl_certificate /etc/letsencrypt/live/dev.morningshine.com.cn/fullchain.pem; # managed by Certbot
ssl_certificate_key /etc/letsencrypt/live/dev.morningshine.com.cn/privkey.pem; # managed by Certbot
include /etc/letsencrypt/options-ssl-nginx.conf; # managed by Certbot
ssl_dhparam /etc/letsencrypt/ssl-dhparams.pem; # managed by Certbot
# 此行代码作用:http请求自动转为https 此处get 请求无影响 post会跳转get 请看下一文章
error_page 497 301 https://$http_host$request_uri;
}
nginx -s reload
post请求请参考
http://t.csdnimg.cn/dW0a9
手动续费命令:
certbot certonly
Problem binding to port 80: Could not bind to IPv4 or IPv6. 报错则先暂停ngnix
service nginx stop
sudo pkill -9 nginx
再启动
service nginx start
HTTPS 免费证书服务器搭建 Let‘s Encrypt
于 2023-10-31 11:21:43 首次发布