阿飞
阿飞
发布于 2025-05-25 / 21 阅读
0
0

使用AllInSSL自动化部署https安全证书

AllInSSL官网

官网:https://allinssl.com/

GitHub:https://github.com/allinssl/allinssl

安装AllInSSL

参考官网教程:https://allinssl.com/guide/getting-started

使用二进制安装命令 (推荐)

curl -sSO http://download.allinssl.com/install_allinssl.sh && bash install_allinssl.sh allinssl

docker安装

docker run -itd \
  --name allinssl \
  -p 7979:8888 \
  -v /www/allinssl/data:/www/allinssl/data \
  -e ALLINSSL_USER=allinssl \
  -e ALLINSSL_PWD=allinssldocker \
  -e ALLINSSL_URL=allinssl \
  allinssl/allinssl:latest

docker compose安装

docker-compose.yml文件内容如下

services:
  allinssl:
    image: allinssl/allinssl:latest
    container_name: allinssl
    ports:
      - "7979:8888"
    environment:
      - ALLINSSL_USER=allinssl
      - ALLINSSL_PWD=allinssldocker
      - ALLINSSL_URL=allinssl
    volumes:
      - ./data:/www/allinssl/data
    restart: always

访问管理网页

打开网址:http://127.0.0.1:7979/allinssl
账户:allinssl
密码:allinssldocker
登录成功界面如下:

授权API管理

新增DNS提供商API授权(阿里云)(用于申请域名证书)

官网教程:https://allinssl.com/guide/help/provider/#阿里云

  • AccessKeyId: 阿里云 RAM 用户的 AccessKey ID。

  • AccessKeySecret: 对应的 AccessKey Secret。

    • 权限建议: 为了安全,建议创建一个拥有所需最小权限(例如 DNS 管理 AliyunDNSFullAccess,CDN 管理 AliyunCDNFullAccess,WAF 管理相关权限等)的 RAM 用户,并使用其 AK/SK。

新增主机SSH授权(用于部署)

输入服务器的地址账户密码即可,后续用来将生成的ssl证书部署到该服务器上。

新建一个自动化部署

自动化部署>添加>快速部署模版

申请证书

部署

选择ssh(本教程使用ssh,也可以自行使用其他方式)

选择配置服务器,输入证书的路径、私钥路径的后缀名。注意

  1. 证书文件:/www/ssl/www.xxx.com/cert.pem

  2. 私钥文件:/www/ssl/www.xxx.com/key.pem

通知任务(可选)

如下

执行任务

保存上述配置,回到任务列表界面,点击执行

点击查看执行历史

点击查看执行详情

查看自动部署的证书

任务执行成功后,在服务器的对应目录可以看到自动生成的证书,自此自动更新证书任务成功。

Nginx配置

nginx配置https访问

关键代码如下

server {
    listen                       443 ssl http2; # 监听443端口
    server_name                  xxx.xxx.cn; # 配置的域名
    ssl_certificate              /opt/appnode/agent/data/ssl/xxx-20250121162206/xxx-cn.pem; # 自动生产的证书文件路径
    ssl_certificate_key          /opt/appnode/agent/data/ssl/xxx-20250121162206/xxx-cn.key; # 自动生产的证书密钥路径
    ssl_ciphers                  ECDHE-RSA-AES128-GCM-SHA256:ECDHE:ECDH:AES:HIGH:!NULL:!aNULL:!MD5:!ADH:!RC4;
    ssl_prefer_server_ciphers    on;
    ssl_protocols                TLSv1 TLSv1.1 TLSv1.2;
    ssl_session_cache            shared:SSL:5m;
    ssl_session_timeout          5m;

}


评论