使用acme.sh注册免费的ssl证书

先决条件:首先我们需要有一个域名和一台有公网IP的服务器

安装acme.sh

curl  https://get.acme.sh | sh

启用别名

source ~/.bashrc

说明:

acme.sh 会安装到 ~/.acme.sh 目录下。安装成功后执行 source ~/.bashrc 以确保脚本所设置的命令别名生效。

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

1.把 acme.sh 安装到你的 home 目录下: ~/.acme.sh/ ,并创建 一个 shell 的 alias, 例如 .bashrc,方便你的使用: alias acme.sh=~/.acme.sh/acme.sh

2.自动为你创建 cronjob, 每天 0:00 点自动检测所有的证书, 如果快过期了, 需要更新, 则会自动更新证书。

查看帮助信息

acme.sh -h

卸载acme.sh

acme.sh --uninstall

切换CA机构

acme.sh --set-default-ca --server letsencrypt

说明:

acme.sh 支持四个正式环境 CA,分别是 Let’s Encrypt、Buypass、ZeroSSL 和 SSL.com,默认使用 ZeroSSL。

生成证书

acme.sh --issue -d example.com --standalone --keylength ec-256 --force

说明:

1. --standalone 模式下默认使用80端口,如果80端口被占用,添加 --httpport 参数使用80以外的端口

2.  --keylength表示密钥长度,后面的值可以是 ec-256 、ec-3842048307240968192,带有 ec 表示生成的是 ECC 证书,没有则是 RSA 证书。在安全性上 256 位的 ECC 证书等同于 3072 位的 RSA 证书。

3.  生成的证书将放置在~/.acme.sh/example.com/ 目录下:

example.com.cer 证书文件
example.com.key 私钥
ca.cer 中间证书
fullchain.cer 证书链

4. 当前证书剩余有效期在30天以上时重新生成证书,需要使用--force参数

5.  建议在生成证书的时候添加 --staging  使用测试环境测试,不明白可参见后面的速率限制

更新证书

acme.sh --renew -d example.com

如果是ecc证书:

acme.sh --renew -d example.com --ecc

说明:

默认情况下acme.sh会自动更新即将过期的证书.可以不用手动更新

如果要更新有效期大于30天的,使用--force参数

部署证书

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"

说明:

其实就是拷贝证书到指定位置,生成的证书的目录供acme.sh内部使用

查看已经生成的证书:

acme.sh --list

查看debug:

acme.sh  --issue  .....  --debug

查看error:

acme.sh  --issue  .....  --debug  2

生成日志:

acme.sh  --issue  .....  --log

使用测试环境

--staging

说明:

日志文件路径为:~/.acme.sh/acme.sh.log

速率限制

重复证书限制

概述:

所有签发请求均受每周 5 个重复证书的限制。 当您超出重复证书限制时,您应该会从 ACME 客户端收到如下错误消息:

too many certificates (5) already issued for this exact set of domains in the
last 168 hours: example.com login.example.com: see https://letsencrypt.org/docs/duplicate-certificate-limit

此错误所指的“确切集”是为此证书请求的主机名集:在此示例中,example.com 和 login.example.com。 如果您的证书仅针对 1 个名称(例如 example.com)颁发,那么您的证书的主机名“确切集”将是 [example.com]。 当订阅者在一周内为相同的“确切集”主机名请求证书超过 5 次时,就会超出此速率限制。

解决方法:

撤销先前发布的证书将不会重置重复证书限制。 然而,仍然存在着这种情况。 如果您发现您已经超过了上限并且您仍然需要另一个证书来获取相同的主机名,您总是可以要求一个不同的主机名“确切集”的证书。 例如,如果您超出了 [example.com] 的重复证书限制,那么为 [example.com, login.example.com] 请求证书将会成功。 同样,如果您超出了 [example.com, login.example.com]的重复证书限制,那么为 [example.com] 申请一个单独的证书,为 [login.example.com] 申请另一个证书将会成功。

失败验证限制

概述:

所有颁发请求都受到每个帐户、每个主机名、每小时 5 次失败的验证失败限制 并且无法豁免。当您超过失败验证限制时,您会从您的ACME客户端收到以下错误消息:

too many failed authorizations recently: see https://letsencrypt.org/docs/failed-validation-limit/

此错误所指的“授权”是您的 ACME 客户端发送的授权请求的结果,用于在我们颁发或更新证书之前验证对域名的控制。 此错误表示多个验证请求已成功发送,但所有验证尝试均失败。

测试环境速率限制

测试环境使用与生产环境类似的速率限制,但具体数据有所变化:

  • 每个注册域名允许颁发的证书数量限制为每周 30000 张。
  • 重复证书限制为每周 30000 张。
  • 每小时允许 60 次验证失败
  • 每个 IP 地址注册账户数量限制为每个 IP 每 3 小时允许注册 50 个账户。
  • 对于 ACME v2,新订单限制为每个帐户每 3 小时 1500 个。

Let's Encrypt官网:

Let's Encrypt - 免费的SSL/TLS证书 (letsencrypt.org)

acme.sh项目地址:

acmesh-official/acme.sh: A pure Unix shell script implementing ACME client protocol (github.com)

到此这篇关于acme.sh注册免费的ssl证书的文章就介绍到这了,更多相关acme.sh免费ssl证书内容请搜索我们以前的文章或继续浏览下面的相关文章希望大家以后多多支持我们!

(0)

相关推荐

  • 腾讯云申请免费ssl证书配置tomcat使http变https

    买了腾讯云服务器,想在自己的网站前面加上https,步骤就三步: 1.在腾讯云找到ssl证书申请(苦逼程序员就申请免费的吧) [1]登录进腾讯云找到ssl证书申请 [2]点击申请证书,苦逼就申请免费的吧,任性点的可以考虑购买... [3]填写相关的信息,并进行邮箱验证 通用名称--你自己的域名 申请邮箱--用于验证的 证书备注名--自定义随便取个吧 私钥密码--可填可不填(楼主填了) 所属项目--都是默认项目 ps:填完之后下一步,有三个选项,如果你的域名已经绑定了服务器,就选择自动,否则选择手

  • 阿里云申请云盾免费SSL证书(https)

    因项目需要须使用https服务,得知阿里云可以免费申请. 我们的前提:  1.有阿里云的服务器账号. 2.申请的域名托管在阿里云的云解析服务 有了这两个前提申请就方便快捷多了. 1.登录阿里云-->安全(云盾)-->证书服务 注: 感谢评友提示,  最新的查找申请证书方式更正一下,  得倒着往上点,symantec---单个域名----免费型 2.选择购买证书 3.在配置单中选择 "免费型DV SSL"   证书提供商品牌为:"赛门铁克" 注意:免费数字

  • windows下部署免费ssl证书(letsencrypt)的方法

    随着网络的发展,网络安全也越来越重要,对于网站来说,从Http升级到https也是我们要做的首要事情.要实现https,首先我们需要申请一张SSL证书,这篇文章我主要介绍下边这几个方面: 1. SSL简单介绍 2. 免费Letencrypt证书部署 3. 安装注意事项 一.SSL简单介绍 ssl作为一个网络加密协议,主要是存在于系统中应用层和传输层之间的一个安全套接字层(Secure Socket Layer),也就是位于TCP/IP协议和各个应用层协议之间,为应用数据传输提供加密的协议.当然它

  • 使用openssl 生成免费证书的方法步骤

    一:什么是openssl? 它的作用是?应用场景是什么? 即百度百科说:openssl是一个开放源代码的软件库包,应用程序可以使用这个包来进行安全通信,它可以避免信息被窃听到. SSL是Secure Sockets Layer(安全套接层协议)的缩写,可以在Internet上提供秘密性传输.Netscape(网景)公司在推出第一个Web浏览器的同时,提出了SSL协议标准.其目标是保证两个应用间通信的保密性和可靠性,可在服务器端和用户端同时实现支持. 因为在网络传输的过程中,网络的数据肯定要经过w

  • 使用acme.sh注册免费的ssl证书

    先决条件:首先我们需要有一个域名和一台有公网IP的服务器 安装acme.sh curl  https://get.acme.sh | sh 启用别名 source ~/.bashrc 说明: acme.sh 会安装到 ~/.acme.sh 目录下.安装成功后执行 source ~/.bashrc 以确保脚本所设置的命令别名生效. 说明:普通用户和 root 用户都可以安装使用. 安装过程进行了以下几步: 1.把 acme.sh 安装到你的 home 目录下: ~/.acme.sh/ ,并创建 一

  • Nginx 域名SSL证书配置(网站 http 升级为 https)

    前言 HTTP 和 HTTPS 我们日常生活中,常见的网址大致分为2种: 一种是基于 http 协议,如:http://www.baidu.com 一种是基于 https 协议,如:https://www.baidu.com 现在很多网站出于安全的考虑,会把网站的域名访问从 http 已经升级为 https,如果你不知道 http 和 https 的概念,不妨先看看下面这篇文章:HTTP和HTTPS有什么不同 SSL 证书 那么我们如何将 http 升级为 https 呢? 我们要升级 http

  • SpringBoot添加SSL证书的方法

    一.先进行域名的购买 域名购买完毕,进行DNS的解析,我用的是阿里云的,服务器与域名都同时使用的阿里云 记录值这里填你的服务器的IP 地址 二.申请SSL证书 阿里云提供免费的SSL证书,一个人可以申请20个 找到这里 提交获取 然后进行证书的申请 填个人信息,填完一步步保存提交后,证书申请会需要绑定DNS解析 我的是阿里云的,直接去DNS控制台添加就行,你们的根据自己的去相应的添加 记录值改为TXT,主机记录跟记录值,直接复制给的就行 显示这样说明成功 然后根据自己的需要选择证书的下载 这里我

  • docker获取Let's Encrypt永久免费SSL证书的方法

    一.起因 官方的cerbot太烦了,不建议使用还不如野蛮生长的acme.sh,而这里介绍docker运行cerbot获取Let's Encrypt永久免费SSL证书 二.选型 cerbot的证书不会自动刷新日期,但是acme.sh自带这功能,每天凌晨0:00自动检测过期域名并且自动续期 选择docker运行cerbot,是为了让服务器里尽量少配置和无意义的程序,方便管理.例如Let's Encrypt需要的Python2.7,git,pip我们都不需要装在宿主机内,容器就自己配置好了 原文 ht

  • 微信小程序 免费SSL证书https、TLS版本问题的解决办法

    微信小程序 免费SSL证书https.TLS版本问题的解决办法 微信小程序与第三方服务器通讯的域名5个必要条件 1.一个已备案的域名,不是localhost.也不是127.0.0.1,域名不能加端口 2.加ssl证书,也就是https://~~~ 4.HTTPS 服务器的 TLS 版本支持1.2及以下版本,一般就是1.0.1.1.1.2要同时支持这三个版本,一个也不能少,要不然就会出现下面这种情况 5.微信小程序后台加上合法域名设置(一个月内改的次数是有限的,且行且珍惜)如下图 以上5个条件,必

  • 微信小程序 后台https域名绑定和免费的https证书申请详解

    微信小程序 后台https域名绑定和免费的https证书申请详解 微信小程序在11月3号发布了,这是一个全新的生态,没有赶上微信公众号红利的开发者,运营者可别错过这趟车了. 但是微信的后台需要全https,之前我还不相信,后台注册了后进后台才发现,服务器配置如下图 从后台的服务器配置可以看出 (1)微信小程序后台只支持https,如果公司后台还没支持https的,赶紧要升级了 (2)API请求,文件上传,socket 文件上传和下载,必须是在后台配置的,否则微信不允许你下载       另外,h

  • startssl申请SSL证书 并且配置 iis 启用https协议

    先在 startssl.com 这个站点上申请一个免费的1年的 ssl证书 申请步骤比较简单, 你要先验证一个使用这个证书的域名, 会把验证码发送到域名注册邮箱里. 接下来是输入完整域名来验证SSL 证书, 我填写的是一个二级域名 然后就填写证书签名, Certificate Signing Request 然后可以下载一个 startcomtool.exe 这个工具 点击generate CSR 然后将右侧的信息复制粘贴到 StartCom申请站点里,就完成了证书的申请,然后进入下载页面选择你

随机推荐