君玉自牧 君玉自牧
首页
  • Linux
  • Nginx
  • MySQL
  • Redis
  • Kafka
  • Docker
  • Jenkins
  • Oneindex
  • Bitwarden
  • Confluence
  • Photogallery
  • 智能手机
  • 上古卷轴
  • 健身记录
  • 站点相关
  • 未完待续
GitHub (opens new window)
首页
  • Linux
  • Nginx
  • MySQL
  • Redis
  • Kafka
  • Docker
  • Jenkins
  • Oneindex
  • Bitwarden
  • Confluence
  • Photogallery
  • 智能手机
  • 上古卷轴
  • 健身记录
  • 站点相关
  • 未完待续
GitHub (opens new window)
  • 技术架构

  • 桌面维护

  • 网络工程

  • 系统运维

  • 环境搭建

  • 容器编排

  • 持续集成

  • 监控告警

  • 项目实践

  • 脚本开发

  • 前端开发

    • Windows 系统搭建 Node.js 环境
    • Vue 开发入门
    • 搭建 VuePress:Github & Aliyun
    • 本地开发:泛(内网)域名解析
    • SSL 证书申请以及自动续期
      • 网页申请
      • 自助管理
        • 宝塔
        • 自搭
        • acme.sh
        • 安装脚本
        • 生成证书
        • 部署证书
        • 更新证书
        • 更新脚本
        • Certbot
        • 安装脚本
    • 自动跳转 https 访问网站
    • asar 文件解包、修改再打包
  • 后端开发

  • 效率工具

目录

SSL 证书申请以及自动续期

# 网页申请

有大量的第三方平台可以申请免费的 SSL 证书,例如一直在用的阿里云:一个账号一年可以申请 20 个,无论对于公司还是个人都足够了。

# 自助管理

如果网站不是部署在阿里云,那么设置证书以及续期操作起来就有点麻烦,特别是网站巨多(成百上千)的情况

# 宝塔

如果是普通的建站(PHP-FPM 或者静态网站),宝塔面板 (opens new window)挺好用的

yum install -y wget && wget -O install.sh http://www.aapanel.com/script/install_6.0_en.sh && bash install.sh forum
1

image.png

# 自搭

但是架不住量多,而宝塔的自动续期有时候会出问题,这时候就得有一个可以批量申请、续期的命令行工具

# acme.sh

acme.sh (opens new window) 实现了 acme 协议,可以从 letsencrypt 生成免费的证书

# 安装脚本

curl  https://get.acme.sh | sh -s email=my@yuwei.cc
1

普通用户和 root 用户都可以安装使用,安装过程进行了以下几步:

  1. 把 acme.sh 安装到你的 home 目录下:~/.acme.sh/,并创建 一个 bash 的 alias,方便你的使用:alias acme.sh=~/.acme.sh/acme.sh
  2. 自动为你创建 cronjob,每天 0:00 点自动检测所有的证书,快过期了会自动更新证书

# 生成证书

acme.sh 实现了 acme 协议支持的所有验证协议,一般有两种方式验证:http 和 dns 验证

# http

需要在你的网站根目录下放置一个文件, 来验证你的域名所有权,完成验证. 然后就可以生成证书了

acme.sh  --issue  -d mydomain.com -d www.mydomain.com  --webroot  /home/wwwroot/mydomain.com/
#apache
acme.sh --issue  -d mydomain.com   --apache
#nginx
acme.sh --issue  -d mydomain.com   --nginx
#如果没有运行任何 web 服务,80 端口是空闲的,那么 acme.sh 还能假装自己是一个webserver,临时听在80 端口
acme.sh  --issue -d mydomain.com   --standalone
1
2
3
4
5
6
7
# dns

手动在域名上添加一条 txt 解析记录,验证域名所有权

acme.sh  --issue  --dns   -d mydomain.com \
 --yes-I-know-dns-manual-mode-enough-go-ahead-please
acme.sh  --renew   -d mydomain.com \
  --yes-I-know-dns-manual-mode-enough-go-ahead-please
1
2
3
4

# 部署证书

到 nginx/apache 或者其他服务

#Apache
acme.sh --install-cert -d example.com \
--cert-file      /path/to/certfile/in/apache/cert.pem  \
--key-file       /path/to/keyfile/in/apache/key.pem  \
--fullchain-file /path/to/fullchain/certfile/apache/fullchain.pem \
--reloadcmd     "service apache2 force-reload"
#nginx
acme.sh --install-cert -d example.com \
--key-file       /path/to/keyfile/in/nginx/key.pem  \
--fullchain-file /path/to/fullchain/nginx/cert.pem \
--reloadcmd     "service nginx force-reload"
1
2
3
4
5
6
7
8
9
10
11

# 更新证书

目前证书在 60 天以后会自动更新,无需任何操作

# 更新脚本

#开启自动更新
acme.sh  --upgrade  --auto-upgrade
#关闭自动更新
acme.sh --upgrade  --auto-upgrade  0
acme.sh --upgrade
1
2
3
4
5

# Certbot

https://certbot.eff.org/ (opens new window)

# 安装脚本

wget https://dl.eff.org/certbot-auto
chmod a+x ./certbot-auto
./certbot-auto --help
1
2
3
网页编辑 (opens new window)
最近提交: 2023/03/22, 11:52:35
本地开发:泛(内网)域名解析
自动跳转 https 访问网站

← 本地开发:泛(内网)域名解析 自动跳转 https 访问网站→

Theme by Vdoing | Copyright © 2011-2023 | 君玉自牧
粤ICP备15057965号
  • 跟随系统
  • 浅色模式
  • 深色模式
  • 阅读模式