Loading [MathJax]/jax/output/CommonHTML/config.js
前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >专栏 >acme.sh生成免费SSL证书

acme.sh生成免费SSL证书

作者头像
Petrochor
发布于 2022-06-07 08:03:41
发布于 2022-06-07 08:03:41
1.1K00
代码可运行
举报
文章被收录于专栏:StephenStephen
运行总次数:0
代码可运行

acme.sh 实现了 acme 协议,可以从 letsencrypt 生成免费的证书。

一个完全用Shell(Unix shell)语言编写的ACME协议客户端,支持ACME v1和ACME v2,只需一个脚本即可生成发布,续订和自动安装SSL证书

1. 安装acme.sh

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
curl  https://get.acme.sh | sh

把 acme.sh 安装到你的 home 目录下:

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
~/.acme.sh/

创建 一个 bash 的 alias

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
alias acme.sh=~/.acme.sh/acme.sh

执行完毕后,将自动为你生成 crontab 任务,每天 0:00 点自动检测所有的证书, 如果快过期了,需要更新,则会自动更新证书。

2. 生成证书

acme.sh 实现了 acme 协议支持的所有验证协议。一般有两种方式验证: httpdns 验证,这里我们以 http 为例。

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

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
acme.sh  --issue  -d mydomain.com -d www.mydomain.com  --webroot  /home/wwwroot/mydomain.com/

只需要指定域名,并指定域名所在的网站根目录,acme.sh 会全自动的生成验证文件,并放到网站的根目录,然后自动完成验证,最后会聪明的删除验证文件,整个过程对网站没有任何影响。

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

apache:

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
acme.sh --issue  -d mydomain.com   --apache

nginx:

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
acme.sh --issue  -d mydomain.com   --nginx

3. copy/安装证书

前面证书生成以后,接下来需要把证书 copy 到真正需要用它的地方。

apache:

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
acme.sh --install-cert -d example.com \
--cert-file      /usr/local/apache/domain.cert  \
--key-file       /usr/local/apache/domain.key  \
--fullchain-file /usr/local/apache/domain.pem \
--reloadcmd     "service apache2 force-reload"

nginx:

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
acme.sh --install-cert -d example.com \
--key-file       /usr/local/nginx/cert/domain.key  \
--fullchain-file /usr/local/nginx/cert/domain.pem \
--reloadcmd     "service nginx force-reload"

service nginx force-reload 将会重启 nginxcentos7 以上使用 systemctl 命令

4. 修改配置

此处以 nginx 配置为例

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
server {
    listen  80;
    server_name     mydomain.com www.mydomain.com;
    return  301 https://$server_name$request_uri;
}
server {
    listen               443 ssl;
    server_name          mydomain.com www.mydomain.com;
    ssl_certificate      /usr/local/nginx/cert/domain.pem;
    ssl_certificate_key  /usr/local/nginx/cert/domain.key;

    location / {
        root /home/wwwroot/mydomain.com/public;
        index index.html;
    }
}

5. 更新证书

证书会自动更新,无需关心

6. 相关链接

Github:https://github.com/acmesh-official/acme.sh

本文参与 腾讯云自媒体同步曝光计划,分享自作者个人站点/博客。
原始发表:2021/05/18 ,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
暂无评论
推荐阅读
编辑精选文章
换一批
测试面试题集-Python列表去重
请定义函数,将列表[10, 1, 2, 20, 10, 3, 2, 1, 15, 20, 44, 56, 3, 2, 1]中的重复元素除去,写出至少3种方法。 方法一:利用集合去重 # !/usr/bin/python3 # -*- coding:utf-8 -*- # @Time:2019/12/10 07:00 # @微信公众号:ITester软件测试小栈 # @Author:coco # @Python交流群:604469740 # @Email:3593721069@qq.com # @Fil
可可的测试小栈
2019/12/12
6120
测试面试题集-Python列表去重
Pandas、Numpy性能优化秘籍(全)
pandas、numpy是Python数据科学中非常常用的库,numpy是Python的数值计算扩展,专门用来处理矩阵,它的运算效率比列表更高效。pandas是基于numpy的数据处理工具,能更方便的操作大型表格类型的数据集。但是,随着数据量的剧增,有时numpy和pandas的速度就成瓶颈。
算法进阶
2022/06/02
3K0
Pandas、Numpy性能优化秘籍(全)
Python基础(八) | 万字详解深浅拷贝、生成器、迭代器以及装饰器
因为操作的是列表,而原列表映射的是地址,修改元素后对地址进行映射,因此list1和2的修改相同
timerring
2022/10/04
6970
Python基础(八) | 万字详解深浅拷贝、生成器、迭代器以及装饰器
五种Python方法实现列表去重
将列表[10, 1, 2, 20, 10, 3, 2, 1, 15, 20, 44, 56, 3, 2, 1]去除重复元素。
可可的测试小栈
2021/03/23
2.2K0
pypy真的能让python比c还快?
最近 “pypy为什么能让python比c还快” 刷屏了,原文讲的内容偏理论,干货比较少。我们可以再深入一点点,了解pypy的真相。
州的先生
2021/06/21
7620
pypy真的能让python比c还快?
弄懂这56个Python使用技巧,秒变Python大神!
你也许知道如何进行列表解析,但是可能不知道字典/集合解析。它们简单易用且高效。就像下面这个例子:
一墨编程学习
2019/08/12
1.3K0
python的numba加速
        之前笔者写过一个pypy的加速方法,可以参阅笔者之前的文章:http://blog.csdn.net/qtlyx/article/details/78078636
钱塘小甲子
2019/01/28
1.2K0
Python基础面试,看这篇文章画重点吧
一直想写一些更加基础的文章,但是总是想不到好的点子,最近到了就业季,一大堆学生面临就业了,正好,从Python的面试题出发,分析和解答一些常见的面试题,并且总结一些文字。
py3study
2020/01/15
4680
python利用threading处理 list数据
需求:在从银行数据库中取出 几十万数据时,需要对 每行数据进行相关操作,通过pandas的dataframe发现数据处理过慢,于是 对数据进行 分段后 通过 线程进行处理;
用户1558882
2019/07/19
3.9K0
python利用threading处理  list数据
Python并发编程:开启性能优化的大门(7/10)
在当今数字化时代,Python 已成为编程领域中一颗璀璨的明星,占据着编程语言排行榜的榜首。无论是数据科学、人工智能,还是 Web 开发、自动化脚本编写,Python 都以其简洁的语法、丰富的库和强大的功能,赢得了广大开发者的青睐。
正在走向自律
2025/05/12
1880
Python并发编程:开启性能优化的大门(7/10)
Python装饰器、内置函数之金兰契友
装饰器:装饰器的实质就是一个闭包,而闭包又是嵌套函数的一种。所以也可以理解装饰器是一种特殊的函数。 因为程序一般都遵守开放封闭原则,软件在设计初期不可能把所有情况都想到,所以一般软件都支持功能上的扩展,而对源代码的修改是封闭的。 开放封闭原则主要体现在两个方面:
py3study
2020/01/17
3950
Python 提速大杀器之 numba 篇
你是不是曾经有这样的苦恼,python 真的太好用了,但是它真的好慢啊(哭死) ; C++ 很快,但是真的好难写啊,此生能不碰它就不碰它。老天啊,有没有什么两全其美的办法呢?俗话说的好:办法总是比困难多,大家都有这个问题,自然也就有大佬来试着解决这个问题,这就请出我们今天的主角: numba
OpenMMLab 官方账号
2022/01/18
3.1K0
加速Python循环的12种方法,最高可以提速900倍
在本文中,我将介绍一些简单的方法,可以将Python for循环的速度提高1.3到900倍。
deephub
2024/01/04
7150
加速Python循环的12种方法,最高可以提速900倍
用于图像处理的Python顶级库 !!
正如IDC所指出的,数字信息将飙升至175ZB,而这些信息中的巨大一部分是图片。数据科学家需要(预先)测量这些图像,然后再将它们放入人工智能和深度学习模型中。在愉快的部分开始之前,他们需要做重要的工作。
JOYCE_Leo16
2024/03/19
3360
用于图像处理的Python顶级库 !!
做到这二十条,Python程序性能轻松翻倍!
1.优化算法时间复杂度 算法的时间复杂度对程序的执行效率影响最大,在Python中可以通过选择合适的数据结构来优化时间复杂度,如list和set查找某一个元素的时间复杂度分别是O(n)和O(1)。不同的场景有不同的优化方式,总得来说,一般有分治,分支界限,贪心,动态规划等思想。 2. 减少冗余数据 如用上三角或下三角的方式去保存一个大的对称矩阵。在0元素占大多数的矩阵里使用稀疏矩阵表示。 3. 合理使用copy与deepcopy 对于dict和list等数据结构的对象,直接赋值使用的是引用的方式。而有些
小小科
2018/05/02
1K0
做到这二十条,Python程序性能轻松翻倍!
Python爬虫 爬取B站视频弹幕 + 绘制词云
视频链接:https://www.bilibili.com/video/BV1zE411Y7JY
叶庭云
2020/09/17
3.5K0
Python爬虫    爬取B站视频弹幕 + 绘制词云
Day3 python基础
一、集合的使用 集合是一个无序的,不重复的数据组合,它的主要作用如下: 去重,把一个列表变成集合,就自动去重了 关系测试,测试两组数据之前的交集、差集、并集等关系 list_1 = [1, 4, 5, 7, 3, 6, 7, 9] list_1 = set(list_1) print(list_1, type(list_1)) list_2 = set([2, 6, 0, 66, 22, 8, 4]) print(list_1, list_2) print(list_1.intersection(li
py3study
2020/01/03
4930
【Python环境】Python性能优化的20条建议
优化算法时间复杂度 算法的时间复杂度对程序的执行效率影响最大,在Python中可以通过选择合适的数据结构来优化时间复杂度,如list和set查找某一个元素的时间复杂度分别是O(n)和O(1)。不同的场景有不同的优化方式,总得来说,一般有分治,分支界限,贪心,动态规划等思想。 减少冗余数据 如用上三角或下三角的方式去保存一个大的对称矩阵。在0元素占大多数的矩阵里使用稀疏矩阵表示。 合理使用copy与deepcopy 对于dict和list等数据结构的对象,直接赋值使用的是引用的方式。而有些情况下需要复制整个对
陆勤_数据人网
2018/02/26
7720
Python | 加一行注释,让你的程序提速10+倍!numba十分钟上手指南
之前的文章《源代码如何被计算机执行》已经提到计算机只能执行二进制的机器码,C、C++等编译型语言依靠编译器将源代码转化为可执行文件后才能运行,Python、Java等解释型语言使用解释器将源代码翻译后在虚拟机上执行。对于Python,由于解释器的存在,其执行效率比C语言慢几倍甚至几十倍。
PP鲁
2019/12/26
7.7K0
Python 性能优化的20条招数
优化算法时间复杂度 算法的时间复杂度对程序的执行效率影响最大,在 Python 中可以通过选择合适的数据结构来优化时间复杂度,如 list 和 set 查找某一个元素的时间复杂度分别是O(n)和O(1
小小科
2018/05/04
1.2K0
Python 性能优化的20条招数
推荐阅读
相关推荐
测试面试题集-Python列表去重
更多 >
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档
本文部分代码块支持一键运行,欢迎体验
本文部分代码块支持一键运行,欢迎体验