2023最新acme自动申请ssl证书-HTTPS证书

news/2024/11/8 17:00:59/

安装acme.sh

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

把 acme.sh 安装到你的 home 目录下:~/.acme.sh/并创建 一个 bash 的 alias, 方便你的使用:

alias acme.sh=~/.acme.sh/acme.sh
echo 'alias acme.sh=~/.acme.sh/acme.sh' >>/etc/profile

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

00 00 * * * root /root/.acme.sh/acme.sh --cron --home /root/.acme.sh &>/var/log/acme.sh.logs

===============================================================
申请证书
acme.sh 实现了 acme 协议支持的所有验证协议. 一般有两种方式验证: http 和 dns 验证。


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

acme.sh  --issue  -d gatj.com -d *.gatj.com  --webroot  /www/wwwroot/gatj.com/
只需要指定域名, 并指定域名所在的网站根目录. acme.sh 会全自动的生成验证文件, 并放到网站的根目录, 然后自动完成验证. 最后会聪明的删除验证文件. 整个过程没有任何副作用.
如果你用的 apache服务器, acme.sh 还可以智能的从 apache的配置中自动完成验证, 你不需要指定网站根目录:

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

acme.sh --issue  -d gatj.com  --nginx
注意, 无论是 apache 还是 nginx 模式, acme.sh在完成验证之后, 会恢复到之前的状态, 都不会私自更改你本身的配置. 好处是你不用担心配置被搞坏。
该类型的配置有一个缺点, 你需要自己配置 ssl 的配置, 否则只能成功生成证书, 你的网站还是无法访问https. 但是为了安全, 你还是自己手动改配置吧.
如果你还没有运行任何 web 服务, 80 端口是空闲的, 那么 acme.sh 还能假装自己是一个webserver, 临时听在80 端口, 完成验证:

acme.sh  --issue -d gatj.com   --standalone
================================================================

DNS方式
这种方式的好处是, 你不需要任何服务器, 不需要任何公网 ip, 只需要 dns 的解析记录即可完成验证。
这种方式的缺点是,如果不同时配置 Automatic DNS API,使用这种方式 acme.sh 将无法自动更新证书,每次都需要手动再次重新解析验证域名所有权。


创建文件
cd /root/.acme.sh/
为DNS提供信息,提交给域名解析
acme.sh --issue -d 9.gatj.com --dns --yes-I-know-dns-manual-mode-enough-go-ahead-please

获取TXT解析
_acme-challenge.9.gatj.com
HV_JR9dTtXuQArjTsm9q-pOU5gPmmNGMu8t63H3ZTG0

再次执行,获取证书
acme.sh --renew  -d 9.gatj.com --dns --yes-I-know-dns-manual-mode-enough-go-ahead-please


证书的使用

acme.sh  --installcert  -d  9.gatj.com   \
        --key-file   /etc/nginx/ssl/9.gatj.com.key \
        --fullchain-file /etc/nginx/ssl/fullchain.cer \
        --reloadcmd  "service nginx force-reload"

Nginx/Tengine服务器安装SSL证书
vim /usr/local/nginx/conf/nginx.conf

vim /etc/nginx/nginx.conf 
================
    server {
        listen 443;
        server_name 9.gatj.com;
        ssl on;
        root html;
        index index.html index.htm;
        ssl_certificate   /www/server/panel/vhost/cert/clsn.io/9.gatj.com.cer;
        ssl_certificate_key  /www/server/panel/vhost/cert/clsn.io/clsn.key;
        ssl_session_timeout 5m;
        ssl_ciphers ECDHE-RSA-AES128-GCM-SHA256:ECDHE:ECDH:AES:HIGH:!NULL:!aNULL:!MD5:!ADH:!RC4;
        ssl_protocols TLSv1 TLSv1.1 TLSv1.2;
        ssl_prefer_server_ciphers on;
        location / {
            root html;
            index index.html index.htm;
        }
    }


http://www.ppmy.cn/news/468863.html

相关文章

Unix 自学笔记1: Unix基本知识和常用过滤器

注:本人为Mac用户,用书为《Unix&Linux大学教程》,用的shell是系统默认的bash。 Unix 工作环境 多任务处理系统 Unix 可以同时执行多个任务,但是,单个处理器同一时间只能运行单个进程(process&#x…

GAnet A Keypoint-based Global Association Network for Lane Detection 代码调试与阅读笔记

首先从train.py文件开始阅读 trian.py args parse_args()调用parse_args()函数为解析命令行参数进行配置 def parse_args():parser argparse.ArgumentParser(descriptionTrain a detector)parser.add_argument(config, helptrain config file path)parser.add_…

OpenCV读书笔记

GUI features in OpenCV import cv2 import numpy as np ## opencv 处理 images # 使用cv2.imread() 读图片 #imgcv2.imread(testset/img4.PNG,-1) #第二个参数为flag :cv2.IMREAD_COLOR,cv2.IMREAD_GRAYSCALE,cv2.IMREAD_UNCHANGED 简记为 1,0,-1 # 1(彩色图像&…

Fiddler 学习笔记--Fiddler 教程

学习网址: 1、https://www.cnblogs.com/yyhh/p/5140852.html 2、https://www.cnblogs.com/FounderBox/p/4653588.html?utm_sourcetuicool 学习笔记: 学习博客1内容: Fiddler抓包工具总结 序章 Fiddler是一个蛮好用的抓包工具,可以…

Git 学习笔记

本笔记更新于 2019-03-15 廖雪峰老师的官方网站 安装 git 官网下载之后一路默认安装,安装完成后,在任何地方右键打开 git bash here,输入 $ git config --global user.name "Your Name" $ git config --global user.email "…

web学习笔记

常用属性............................................................................................ 1 Html基础........................................................................................... 3 常用快捷键.......................................…

Linux(笔记)

开启端口时,宝塔面板和阿里云都要开启 简介 我们为什么要学习Linux linux诞生了这么多年,以前还喊着如何能取代windows系统,现在这个口号已经小多了,任何事物发展都有其局限性都有其天花板。就如同在国内再搞一个社交软件取代腾讯…

狂神Linux笔记

Linux笔记 一、概述及环境搭建 1、入门概述 我们为什么要学习Linux Linux诞生了这么多年,以前还喊着如何能取代windows系统,现在这个口号已经小多了,任何事物发展都有其局限性都有其天花板。就如同在国内再搞一个社交软件取代腾讯一样&…