我们已经准备好了,你呢?

2024我们与您携手共赢,为您的企业形象保驾护航!

目前获取CA证书的方式有两种:

各大服务商均有销售付费CA证书,比如阿里云,腾讯云等。

电脑提示域名解析错误_电脑显示域名解析错误怎么办_域名解析办错误显示电脑错误

付费证书的价格并不便宜,据阿里云官网介绍,其价格从几千元到几万元不等。

电脑显示域名解析错误怎么办_电脑提示域名解析错误_域名解析办错误显示电脑错误

对于小型公司平台甚至个人网站来说,这是一笔相当大的开支。

它是一个免费、自动化、开放的证书颁发机构,其颁发的证书每次有效期为三个月,但只要不断更新,基本上可以永久使用。

今天推荐的脚本acme.sh实现了acme协议,可以帮助你自动、持续的更新CA证书。

下载地址如下:

安装 acme.sh

安装acme.sh很简单,只需一个命令:

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

普通用户和root用户都可以安装使用,安装过程如下:

1.将 acme.sh 安装到您的主目录:

~/.acme.sh/

并创建一个 bash 别名以方便使用:alias acme.sh=~/.acme.sh/acme.sh

2.自动为您创建,每天0点自动检查所有证书,如即将过期需要续订,则自动续订证书,安装过程不会污染任何现有的系统功能和文件,所有修改都只限于安装目录:~/.acme.sh/

生成证书

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

1、http方式需要在你网站的根目录下放置一个文件来验证你的域名所有权,验证完成后即可生成证书。

acme.sh --issue -d mydomain.com -d www.mydomain.com --webroot /home/wwwroot/mydomain.com/

acme.sh会自动生成验证文件,并放到网站根目录下,然后自动完成验证,最后会智能删除验证文件,整个过程没有任何副作用。

如果你使用的是服务器,acme.sh 也可以从配置中自动智能完成验证,不需要指定网站根目录:

acme.sh --issue -d mydomain.com --apache

如果你使用的是nginx服务器,或者反向代理,acme.sh还可以智能的从nginx配置中自动完成验证,不需要指定网站根目录:

acme.sh --issue -d mydomain.com --nginx

注意:不管是 nginx 模式还是 acme.sh,完成验证后都会回到之前的状态,不会擅自更改你的配置。这样做的好处是你不用担心配置被破坏,但是也有坏处,你需要自己配置 SSL 配置,否则你只能成功生成证书,但是你的网站还是无法访问 https。不过为了安全起见,还是应该手动更改配置。

如果你还没有运行任何 Web 服务,端口 80 是空闲的,那么 acme.sh 可以假装成一个 Web 服务并暂时监听端口 80 来完成验证:

acme.sh --issue -d mydomain.com --standalone

2、DNS方式:给域名添加txt解析记录,来验证域名的归属。

此方法的优点是不需要任何服务器或公网 IP 地址,只需要 DNS 解析记录即可完成验证。但缺点是,如果您不同时配置 DNS API,acme.sh 将无法使用此方法自动续订证书,每次都需要您手动重新解析并验证域名所有权。

acme.sh --issue --dns -d mydomain.com

然后acme.sh会生成对应的解析记录并显示出来,你只需要在你的域名管理面板中添加这条txt记录就可以了。

等待解析完成后,重新生成证书:

acme.sh --renew -d mydomain.com

注意:这里第二次是--renew

DNS 方法的真正强大之处在于,您可以使用域名解析提供商提供的 API 自动添加 TXT 记录来完成验证。

acme.sh目前支持、、、、、ovh等几十种解析器的自动集成。

复制/安装证书

证书生成之后,需要把它复制到真正需要的地方。

注意:默认生成的证书放在安装目录:~/.acme.sh/,请不要直接使用该目录下的文件。例如,不要在 nginx/ 配置文件中直接使用下面的文件。这里的文件是内部使用的,目录结构可能会发生变化。

正确的使用方法是使用--命令并指定目标位置,然后证书文件就会被复制到相应的位置,例如:

acme.sh --installcert -d .com \

--key-file /etc/nginx/ssl/.key \

--fullchain-file /etc/nginx/ssl/fullchain.cer \

--reloadcmd "service nginx force-reload"

小提醒一下,这里用的是nginx force-,而不是nginx,根据测试,不会重新加载证书,所以用force-。

Nginx 配置使用 /etc/nginx/ssl/.cer,而不是 /etc/nginx/ssl/.cer,否则 SSL Labs 测试会报 Chain 错误。

--该命令可以携带多个参数,用于指定目标文件。并且可以指定在更新证书时自动调用该命令使服务器生效。

值得注意的是,这里指定的所有参数都会被自动记录,并且在将来证书自动更新后自动再次调用。

续订证书

目前,证书将在 60 天后自动续订,您无需执行任何操作。将来这个时间可能会缩短,但它将是自动的,您无需担心。

更新 acme.sh

目前由于acme协议和CA经常更新,acme.sh也经常更新以保持同步。

将acme.sh升级到最新版本:

acme.sh --upgrade

如果你不想手动更新,可以启用自动更新:

acme.sh --upgrade --auto-upgrade

此后,acme.sh 将保持自动更新。

您也可以随时关闭自动更新:

acme.sh --upgrade --auto-upgrade 0

如果出现问题该怎么办:

如果发生错误,添加调试日志:

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

或者:

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

最后,本文并不是完整的使用指南。还有许多高级功能。有关更高级的用法,请参阅其他 wiki 页面。

强调

二维码
扫一扫在手机端查看

本文链接:https://by928.com/3705.html     转载请注明出处和本文链接!请遵守 《网站协议》
我们凭借多年的网站建设经验,坚持以“帮助中小企业实现网络营销化”为宗旨,累计为4000多家客户提供品质建站服务,得到了客户的一致好评。如果您有网站建设、网站改版、域名注册、主机空间、手机网站建设、网站备案等方面的需求,请立即点击咨询我们或拨打咨询热线: 13761152229,我们会详细为你一一解答你心中的疑难。

项目经理在线

我们已经准备好了,你呢?

2020我们与您携手共赢,为您的企业形象保驾护航!

在线客服
联系方式

热线电话

13761152229

上班时间

周一到周五

公司电话

二维码
微信
线