当前位置: 首页 > news >正文

基于ACMEv2协议的免费SSL证书申请-支持Let‘s Encrypt/Google/ZeroSSL

项目:https://github.com/cook-code-jazor/acmex

非开源,使用webui管理证书的申请,所有文件本地化存储,支持windows/linux/osx。

证书申请直连ACMEv2服务商,没有任何中间接口,支持Let's Encrypt/Google/ZeroSSL。

运行

下载对应系统的二进制文件,直接运行命令

sudo ./acmex --runas console

首次运行没有配置文件,会要求你填写一个监听地址用于访问web页面。

例如,监听地址填写127.0.0.1:10001,启动服务,控制台输出类似http server started at: 127.0.0.1:10001字样,代表启动成功。
此时浏览器直接访问http://127.0.0.1:10001即可打开管理面板。

1、管理面板

首次访问控制面板,会要求设置管理员信息(登录邮箱用于各ACMEv2服务商的账户注册)。
登录后页面如下。
在这里插入图片描述

系统集成了阿里云/腾讯云/Cloudflare的DNS接口,进入“系统设置”菜单可设置接口相关的秘钥信息,同时也可以设置网络代理信息,支持socks5协议的代理。

2、申请证书

点击"申请新证书"
在这里插入图片描述
选择服务商,CSR生成方式和算法类型,填写好要申请证书的域名,点"立即申请新证书"。
如果CSR生成方式选择"自动生成",会弹出私钥保存界面,请务必保存好生成的私钥。

3、域名验证

acmev2协议提供多种验证方式,常用的DNS和HTTP,可以根据自己的需求选择验证方式。



1、DNS验证

        如果域名在系统支持的DNS服务商解析,并且已设置了相关秘钥信息,可直接点击“全部解析”,系统自动添加相关的TXT解析记录,否则请手动进入DNS服务商页面进行域名解析。

        解析设置完成后,点击“立即验证”(Cloudflare解析生效有延迟,解析完后最好等待1分钟时间再点验证,建议请求验证前点击“检查”确认解析已生效)。

2、HTTP验证

        如果你没有DNS解析的权限,但网站能正常访问,可以使用HTTP验证的方式。请求验证前,务必确认访问链接能显示正确的验证信息。

提交验证请求后,等待服务商签发证书即可,一般1、2分钟就能签发完成,进入“我的证书”菜单可以查看已经签发的证书。

4、部署

系统没提供自动部署的功能,需要自行用私钥和签发的证书去web服务器部署。
对于IIS可以使用“下载PFX”功能,将秘钥和证书导出到pfx文件,然后到IIS里面导入即可。

5、总结

整体没有特别多的功能,提供的都是基础支持,签发速度快。
集成阿里云/腾讯云/Cloudflare的DNS。
集成Let's encrypt/Google/ZeroSSL三家免费证书服务商(Google和ZeroSSL需要绑定EAB信息)。
可纯前端生成CSR和私钥,降低私钥在网络上暴露的风险。
网络请求集成了SOCKS5代理。

面板可配置为系统服务:

sudo ./acmex --install-as [服务名称]

相关文章:

  • 北京网站建设多少钱?
  • 辽宁网页制作哪家好_网站建设
  • 高端品牌网站建设_汉中网站制作
  • 图形化编程012(变量-倒计时)
  • 常用工具推荐!分享7款AI论文修改软件工具网站
  • 面试时遇见的项目问题
  • Oracle数据库pl/sql显式抛出异常
  • 富格林:积攒经验阻挠欺诈套路
  • mysql实用系列:日期格式化
  • 火语言RPA流程组件介绍--获取关联元素
  • 大语言模型应用的业务架构点
  • allWebPlugin中间件自定义alert、confirm及prompt使用
  • 密码学基础--ECDSA算法入门
  • C++之深拷贝和浅拷贝*
  • (PySpark)RDD实验实战——求商品销量排行
  • 2024年华为杯-研赛F题论文问题一二讲解+代码分享
  • LabVIEW多语言支持优化
  • 基于python上门维修预约服务数据分析系统
  • classpath对获取配置文件的影响
  • ES10 特性的完整指南
  • extract-text-webpack-plugin用法
  • github从入门到放弃(1)
  • JS专题之继承
  • Mac转Windows的拯救指南
  • nodejs:开发并发布一个nodejs包
  • oldjun 检测网站的经验
  • RedisSerializer之JdkSerializationRedisSerializer分析
  • Redux系列x:源码分析
  • Spring Boot快速入门(一):Hello Spring Boot
  • Vue小说阅读器(仿追书神器)
  • 阿里云前端周刊 - 第 26 期
  • 构建二叉树进行数值数组的去重及优化
  • 老板让我十分钟上手nx-admin
  • 使用 @font-face
  • 积累各种好的链接
  • ​520就是要宠粉,你的心头书我买单
  • ​LeetCode解法汇总2808. 使循环数组所有元素相等的最少秒数
  • ​Redis 实现计数器和限速器的
  • ​secrets --- 生成管理密码的安全随机数​
  • # dbt source dbt source freshness命令详解
  • #DBA杂记1
  • #git 撤消对文件的更改
  • #我与Java虚拟机的故事#连载17:我的Java技术水平有了一个本质的提升
  • (初研) Sentence-embedding fine-tune notebook
  • (二刷)代码随想录第16天|104.二叉树的最大深度 559.n叉树的最大深度● 111.二叉树的最小深度● 222.完全二叉树的节点个数
  • (三)mysql_MYSQL(三)
  • (三分钟了解debug)SLAM研究方向-Debug总结
  • (实战篇)如何缓存数据
  • (转)mysql使用Navicat 导出和导入数据库
  • (自用)交互协议设计——protobuf序列化
  • .equal()和==的区别 怎样判断字符串为空问题: Illegal invoke-super to void nio.file.AccessDeniedException
  • .NET Core 实现 Redis 批量查询指定格式的Key
  • .NET 常见的偏门问题
  • .net开发日常笔记(持续更新)
  • .NET实现之(自动更新)
  • .NET中的Event与Delegates,从Publisher到Subscriber的衔接!
  • @property括号内属性讲解
  • [ element-ui:table ] 设置table中某些行数据禁止被选中,通过selectable 定义方法解决