请求生成Certbot+Nginx的HTTPS自动化配置Shell脚本
Got it! 我帮你把整个HTTPS配置的自动化流程写成了Shell脚本,完全对应你手动操作的所有步骤,全程非交互式执行,不需要任何人工输入:
#!/bin/bash # 检查是否以root权限运行 if [ "$(id -u)" -ne 0 ]; then echo "错误:请使用root权限运行此脚本(可以加sudo)" exit 1 fi # 更新软件包列表并安装Certbot及Nginx插件 echo "=== 正在安装Certbot和Nginx插件 ===" apt-get update -y apt-get install -y certbot python-certbot-nginx # 非交互式执行Certbot,完成证书获取和Nginx配置 echo "=== 开始配置HTTPS证书 ===" certbot --nginx \ --non-interactive \ --agree-tos \ --email your-email@example.com \ # 替换成你的邮箱,用于接收证书过期提醒 --no-eff-email \ --redirect \ --domains example.com,www.example.com # 替换成你的域名,多个域名用逗号分隔
脚本关键参数说明(对应你手动操作的每一步):
--non-interactive: 彻底禁用交互式界面,全程自动执行--agree-tos: 自动同意Certbot的服务条款,对应手动操作里的"同意"选项--email: 指定接收证书过期通知的邮箱,对应手动输入邮箱的步骤--no-eff-email: 拒绝将邮箱共享给EFF,对应手动操作里的"拒绝共享"选项--redirect: 自动配置Nginx将所有HTTP请求重定向到HTTPS,对应手动选择"2"的步骤--domains: 指定要配置证书的域名,多个域名用逗号分隔,对应手动选择所有域名的步骤
注意事项:
- 请务必替换脚本中的
your-email@example.com和example.com,www.example.com为你实际的邮箱和域名 - 运行脚本前,确保你的域名已经正确解析到当前服务器的IP地址,并且Nginx已经配置了对应的
server块(监听80端口,server_name匹配你的域名) - 脚本执行完成后,Certbot会自动配置Nginx的SSL设置,并且默认启用证书自动续期任务
内容的提问来源于stack exchange,提问作者Amandeep Singh
相关产品推荐
相关产品推荐

