acme.sh自动申请https证书

本文涉及的产品
实时计算 Flink 版,5000CU*H 3个月
检索分析服务 Elasticsearch 版,2核4GB开发者规格 1个月
大数据开发治理平台 DataWorks,不限时长
简介: 该文介绍了如何在Ubuntu 20.04系统上使用acme.sh获取和安装免费的HTTPS证书,适用于已经安装了nginx的环境。首先通过`sudo curl https://get.acme.sh | sh -s email=example@mail.com`安装acme.sh,然后使用`acme.sh --issue -d example.com -w /home/onestudy`生成证书,并用`acme.sh --install-cert`安装到nginx。设置定时任务以定期更新证书,并提供了不同方式的证书获取命令及删除和刷新证书有效性的方法。需确保已配置好域名解析和nginx配置。

本文介绍,使用acmesh自动获取https证书的方法

背景

很多网站都需要https证书,但是很多网站的证书都是收费的,同时也有一些是短期免费的,acme.sh 就提供了一些方法来获取免费的证书 ,并通过设置系统定时任务来获取长期免费。

环境说明

linux Ubuntu 20.04 系统测试 , 且系统已经安装 nginx , nginx version: nginx/1.18.0 (Ubuntu)

查看nginx版本命令 nginx -v

参考官网地址

acmesh wiki

特别说明

exaple@mail.com 请替换为自己实际可用的邮箱
example.com 请替换成自己的域名
您已经设置好域名和服务器之间的正确解析关系 并 配置好的您的nginx配置文件

安装

sudo curl https://get.acme.sh | sh -s email=exaple@mail.com

验证安装情况

```shell
acme.sh --list

Main_Domain KeyLength SAN_Domains CA Created Renew


>## 设置默认参数
```shell
acme.sh --set-default-ca --server zerossl

或 

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

查看默认参数

acme.sh --info

生成https证书步骤

```shell

此命令可以和自己账户关联起来 , 这里不需要执行

acme.sh --register-account --eab-kid GthwFbAaca9kpSEfg6l2KA \

    --eab-hmac-key LLEE43fpeFO4Hp3HryoOfAo0ZC73Z0-_rqWEPK25dLZCaSzCrQ7Gr_609SotUxEk_Phx7C2bZSQCAVcUrC50uw

生成证书

/home/onestudy 目录必须存在 , 目录下面 放了一个index.html 文件 , 用于验证域名是否可以访问. index.html 文件内容见下面单独说明

acme.sh --issue -d example.com -w /home/onestudy

acme.sh --issue -d example.com -w /home/onestudy --force

安装证书

acme.sh --install-cert -d example.com \
--key-file /etc/nginx/cert/example.com.key \
--fullchain-file /etc/nginx/cert/example.com.pem \
--reloadcmd "sudo systemctl force-reload nginx.service"


## index.html 文件内容

>cat /home/onestudy/index.html 
```html
<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <title>One Study</title>
    <style>
        body {
            font-family: Arial, sans-serif;
            margin: 0;
            padding: 0;
        }
        header {
            background-color: #333;
            color: #fff;
            padding: 20px;
            text-align: center;
        }
        nav {
            background-color: #666;
            padding: 10px;
            text-align: center;
        }
        nav a {
            color: #fff;
            text-decoration: none;
            padding: 10px;
        }
        nav a:hover {
            background-color: #999;
        }
        section {
            padding: 20px;
        }
        footer {
            background-color: #333;
            color: #fff;
            text-align: center;
            padding: 10px;
            position: fixed;
            bottom: 0;
            width: 100%;
        }
    </style>
</head>
<body>
    <header>
        <h1>Welcome to My Website</h1>
    </header>
    <nav>
        <a href="#">Home</a>
        <a href="#">About</a>
        <a href="#">Contact</a>
    </nav>
    <section>
        <h2>About Us</h2>
        <p>This is a simple website created for demo purposes.</p>
    </section>
    <footer>
        &copy; 2024 My Website. All rights reserved.
    </footer>
</body>
</html>

其他可以生成证书的命令 , 但在本次是验证不是那么的顺利

acme.sh --issue -d example.com --nginx
acme.sh --issue -d example.com --dns dns_cf
acme.sh --issue --standalone -d example.com
acme.sh --issue --alpn -d example.com

查看定时任务是否存在, 不存在的自行创建

crontab -l

31 11 * "/root/.acme.sh"/acme.sh --cron --home "/root/.acme.sh" > /dev/null

删除证书

acme.sh remove example.com

强制提前刷新证书有效期

"/root/.acme.sh"/acme.sh --cron --home "/root/.acme.sh" --force

目录
相关文章
|
7天前
|
安全 网络安全 Windows
【Azure App Service】遇见az命令访问HTTPS App Service 时遇见SSL证书问题,暂时跳过证书检查的办法
在访问App Service的KUDU工具或使用`az webapp deploy`时遇到SSL错误:`SSL: CERTIFICATE_VERIFY_FAILED`。解决方法是临时禁用Azure CLI的SSL验证。在PowerShell中,设置`$env:ADAL_PYTHON_SSL_NO_VERIFY`和`$env:AZURE_CLI_DISABLE_CONNECTION_VERIFICATION`为1;在Windows命令提示符中,使用`set AZURE_CLI_DISABLE_CONNECTION_VERIFICATION=1`。注意,这可能引入安全风险,应仅在必要时使用。
|
14天前
|
运维 Java Serverless
Serverless 应用引擎产品使用合集之是否提供工具来给OSS配置HTTPS证书
阿里云Serverless 应用引擎(SAE)提供了完整的微服务应用生命周期管理能力,包括应用部署、服务治理、开发运维、资源管理等功能,并通过扩展功能支持多环境管理、API Gateway、事件驱动等高级应用场景,帮助企业快速构建、部署、运维和扩展微服务架构,实现Serverless化的应用部署与运维模式。以下是对SAE产品使用合集的概述,包括应用管理、服务治理、开发运维、资源管理等方面。
|
20天前
|
网络协议 安全 应用服务中间件
阿里云 网站https设置 sll申请与nginx跳转配置
阿里云 网站https设置 sll申请与nginx跳转配置
|
1月前
|
网络安全
https的证书错误,错误码-1012问题及解决方案
https的证书错误,错误码-1012问题及解决方案
27 0
|
1月前
|
域名解析 网络协议 应用服务中间件
阿里云SSL证书配置(HTTPS证书配置)
该内容是一个关于如何在阿里云上准备和购买SSL证书,以及如何为网站启用HTTPS的步骤指南。首先,需要注册并实名认证阿里云账号,然后在SSL证书控制台选择证书类型、品牌和时长进行购买。申请证书时填写域名信息,并进行DNS验证,这包括在阿里云域名管理板块添加解析记录。完成验证后提交审核,等待证书审核通过并下载Nginx格式的证书文件。最后,将证书配置到网站服务器以启用HTTPS。整个过程涉及账户注册、实名认证、证书购买、DNS设置和证书下载及安装。
407 0
|
1月前
|
网络安全 数据安全/隐私保护 Docker
免费的HTTPS证书
免费的HTTPS证书
127 1
|
1月前
|
安全 搜索推荐 网络安全
【HTTPS】https证书详细解释
文章简单的讲解了一下https是什么,以及是干什么用的
222 0
【HTTPS】https证书详细解释
|
1月前
|
安全 网络安全 CDN
阿里云CDN HTTPS 证书配置流程
阿里云CDN HTTPS 证书配置流程
348 1
|
1月前
|
存储 网络安全 数据安全/隐私保护
Windows Server 2019 IIS HTTPS证书部署流程详解
Windows Server 2019 IIS HTTPS证书部署流程详解
163 0
|
7月前
|
安全 算法 小程序
互联网并发与安全系列教程(17) - 生产环境配置HTTPS证书
互联网并发与安全系列教程(17) - 生产环境配置HTTPS证书
93 0