宝塔登陆入口添加 SSL

准备工作

  • 1. 首先的首先,您需要确认您宝塔所在服务器已经安装了 acme.sh。否则请阅读 安装 ACME.sh。
  • 2. 以下 2 种方式选择操作 1 项:
    • 单独的 IP 站点方式:在宝塔的站点管理,创建一个 IP 的站点。
    • 默认站点方式 :在宝塔的站点管理,设置一个 默认站点

脚本

直接运行脚本不会在到期前获得自动更新。建议您先手工获取证书,然后按照“定时更新”教程获得在到期前获得自动续期。

请不要忘记 修改邮箱那行代码 email="my@example.com" 为您真实邮箱!

脚本中,以下文件是宝塔面板的证书备份,当 bt reload 报错,您可以手工更换回去。

  • 私钥备份:/www/server/panel/ssl/privateKey.pem.bak,恢复请直接重命名去除结尾的 .bak
  • 证书备份:/www/server/panel/ssl/certificate.pem.bak,恢复请直接重命名去除结尾的 .bak

脚本代码

email="my@example.com"
ip=$(curl -s -4 ip.sb)
webroot=$(cat $((grep -r ""$ip /www/server/panel/vhost/nginx/ || grep -r "default_server" /www/server/panel/vhost/nginx/) | grep server_name | awk '{print $1}' | cut -d ':' -f1) | egrep 'root ' | awk '{print $2}' | cut -d ';' -f1)

if [ -z "$webroot" ]; then
  echo "请先创建 1 个 IP 站点或者设置 1 个默认站点!"
  exit 1
fi

export LE_WORKING_DIR=/root/.acme.sh

/bin/cp -rf /www/server/panel/ssl/privateKey.pem /www/server/panel/ssl/privateKey.pem.bak
/bin/cp -rf /www/server/panel/ssl/certificate.pem /www/server/panel/ssl/certificate.pem.bak
/bin/cp -rf /www/server/panel/vhost/cert/$ip/privkey.pem /www/server/panel/vhost/cert/$ip/privkey.pem.bak
/bin/cp -rf /www/server/panel/vhost/cert/$ip/fullchain.pem /www/server/panel/vhost/cert/$ip/fullchain.pem.bak

/root/.acme.sh/acme.sh --register-account \
    --email $email \
    --server https://acme.hi.cn/directory && \
    \
/root/.acme.sh/acme.sh --issue \
    -d $ip --webroot $webroot \
    --server https://acme.hi.cn/directory \
    --force && \
    \
echo "复制宝塔面板证书" && \
/bin/cp -rf /root/.acme.sh/$ip/$ip.key /www/server/panel/ssl/privateKey.pem && \
/bin/cp -rf /root/.acme.sh/$ip/fullchain.cer /www/server/panel/ssl/certificate.pem && \
    \
echo "True" > /www/server/panel/data/ssl.pl && \
    \
bt reload && \
    \
echo "安装站点证书(如有)" && \
/bin/cp -rf /root/.acme.sh/$ip/$ip.key /www/server/panel/vhost/cert/$ip/privkey.pem && \
/bin/cp -rf /root/.acme.sh/$ip/fullchain.cer /www/server/panel/vhost/cert/$ip/fullchain.pem && \
    \
bt reload && \
    \
echo "成功续期"

成功后,可以刷新 https://< 你的 IP>:8888 即可通过 HTTPS 安全的访问宝塔面板。

定时更新

您可以直接在宝塔“计划任务”添加定时,任务的脚本代码在这里。

宝塔登陆入口添加 SSL

宝塔登陆入口添加 SSL

设置完成后,可以模拟运行测试一下。如果展示如下,则表示成功。

 

宝塔登陆入口添加 SSL

正文完
 0
admin
版权声明:本站原创文章,由 admin 于2023-01-26发表,共计1812字。
转载说明:除特殊说明外本站文章皆由CC-4.0协议发布,转载请注明出处。