使用acme,自动续签免费的SSL,无忧http升级https
使用acme自动续签免费的SSL
- 安装acme.sh
- 颁发域名
- 将证书安装到nginx下
- 配置nginx的ssl
- 自动续签
这里只进行最简单的操作
安装acme.sh
进入你的用户目录,如果你使用root登陆,那么你的用户目录就是 /root/
curl https://get.acme.sh | sh -s email=my@example.com
这里会在root下生成一个 .acme.sh 文件夹
注意:.开头的文件夹使用ll命令看不见,需要加一个参数-a
命令如下
cd ~
ll -a
颁发域名
# 进入脚本目录
cd ~/.acme.sh
# 执行签发
acme.sh --issue -d 你的域名 -w 你的网站根目录地址
出现如下,则算是成功

将证书安装到nginx下
生成证书后,需要将证书安装/复制到您的 Apache/Nginx 或其他服务器。必须使用此命令将证书安装到目标文件,
请勿使用~/.acme.sh/文件夹中的证书文件,它们仅供内部使用,文件夹结构将来可能会更改。
命令如下
acme.sh --install-cert -d 域名 \
--key-file /证书key存放路径/域名.key.pem \
--fullchain-file /证书key存放路径/域名.cert.pem \
--reloadcmd "nginx重启命令"
例如:
acme.sh --install-cert -d test.ywbj.cc \
--key-file /home/wwwroot/ssl/51ebook.top.key.pem \
--fullchain-file /home/wwwroot/ssl/51ebook.top.cert.pem \
--reloadcmd "service nginx force-reload"
配置nginx的ssl
server
{listen 80;server_name 51ebook.top;return 301 https://$server_name$request_uri;
}
server {listen 443 http2;server_name 51ebook.top;root /home/wwwroot/books;index index.html index.htm index.php default.html default.htm default.php;ssl_certificate /home/wwwroot/ssl/51ebook.top.cert.pem;ssl_certificate_key /home/wwwroot/ssl/51ebook.top.key.pem;ssl_session_timeout 5m;ssl_protocols TLSv1 TLSv1.1 TLSv1.2;ssl_prefer_server_ciphers on;ssl_ciphers "EECDH+CHACHA20:EECDH+CHACHA20-draft:EECDH+AES128:RSA+AES128:EECDH+AES256:RSA+AES256:EECDH+3DES:RSA+3DES:!MD5";ssl_session_cache builtin:1000 shared:SSL:10m;# .well-known block for Let's Encryptlocation ^~ /.well-known/acme-challenge/ {default_type "text/plain";try_files $uri =404; # Ensure the file actually exists or serve a 404 error}# WordPress configinclude rewrite/wordpress.conf;# PHP path info supportinclude enable-php-pathinfo.conf;# Nginx status pagelocation /nginx_status {stub_status on;access_log off;}# Cache control for static fileslocation ~ .*\.(gif|jpg|jpeg|png|bmp|swf)$ {expires 30d;}location ~ .*\.(js|css)?$ {expires 12h;}# Deny access to hidden fileslocation ~ /\.{deny all;}access_log /home/wwwlogs/51ebook.top/acc.log;error_log /home/wwwlogs/51ebook.top/err.log warn;
}
自动续签
自动续签不需要做任何操作,acme已经处理好了,可以通过命令查看
crontab -l
有一段类似的代码
56 0 * * * “/root/.acme.sh”/acme.sh --cron --home “/root/.acme.sh” > /dev/null
参考网站:https://blog.csdn.net/weixin_52270081/article/details/126777550
相关文章:
使用acme,自动续签免费的SSL,无忧http升级https
使用acme自动续签免费的SSL 安装acme.sh颁发域名将证书安装到nginx下配置nginx的ssl自动续签 这里只进行最简单的操作 安装acme.sh 进入你的用户目录,如果你使用root登陆,那么你的用户目录就是 /root/ curl https://get.acme.sh | sh -s emailmyexam…...
Uniapp笔记(五)uniapp语法4
本章目标 授权登录【难点、重点】 条件编译【理解】 小程序分包【理解】 一、授权登录 我的模块其实是两个组件,一个是登录组件,一个是用户信息组件,根据用户的登录状态判断是否要显示那个组件 1、登录的基本布局 <template><…...
编写一个yolov5的模型检测,只要运行后,就不结束,只要有文件放入到文件夹中,就去执行读取
编写一个yolov5的模型检测,只要运行后,就不结束,只要有文件放入到文件夹中,就去执行读取 import os import cv2 import torch from torchvision import transforms from PIL import Image from yolo.model import YOLO…...
vscode调试PHP代码
目录 准备工作ssh的连接以及配置调试 准备工作 1.首先你需要下载一个vscode 2.下载模块 你需要在VScode中去下载我们所需的两个模块PHP Debug以及remote -ssh 3.安装对应版本的xdebug 需要在xdebug的官方去进行分析,选择适合你自己版本的xdebug 去往官方&#x…...
js reverse实现数据的倒序
2023.8.25今天我学习了如何在数组顺序进行倒序排列,如: 原数组为: 我们只需要对数组使用reverse()方法 let demo [{id: 1, name: 一号},{id: 2, name: 二号},{id: 3, name: 三号},]demo.reverse()console.log(demo) 扩展: 当我…...
日常踩坑记录
本篇文章主要介绍一下最近的开发中用到的些小问题。问题不大,但有些小细节,记录一下,有遇到的朋友可以看一下,有更好的解决方法欢迎分享。 浏览器记住密码自动填充表单 这个问题我在火狐浏览器遇到了。我登录系统时选择了浏览器…...
threejs特殊几何体(一:文字几何体对象)
threejs中文字几何体通过newTextGeometry()生成,它被单独作为一个类存在于threejs中const txtGeo new TextGeometry("threejs", { ...opts, font: font }); 我们先看效果: <template><div></div> &…...
链表的实现
本程序List链表用两种方式实现,一种是双向链表,一种是双向循环链表。循环双向链表和双向链表,它们的编码差别很小;但是循环链表在插入效率上胜出很多,同时查询时候更灵活。综合考虑,循环链表是首选。 另外…...
c++ std::mutex与std::condition_variable
1. std::mutex lock()加锁; try_lock()尝试加锁; unlock()解锁; std::mutex m_mutex; m_mutex.lock(); ... m_mutex.unlock(); 2. std::lock_guard 类模板;等同自动锁,直接取代lock()和unlock(); 构造时加锁,析构时解锁; std::mutex m_mutex; {std::lock_guard<std:…...
Aspose.Tasks for .NET V23Crack
Aspose.Tasks for .NET V23Crack 改进了大型项目的内存占用。 添加了API,允许您在应用程序无法访问系统字体文件夹时指定用户的字体文件夹。 Aspose.Tasksfor.NET是处理MicrosoftProject文件的可靠的项目管理API。API支持在不依赖Microsoft Project的情况下读取、写…...
vue过渡及动画
文章目录 前言类名使用自己定义动画样式多个元素过渡使用第三方库 前言 对于vue中的过渡与动画,官网上是这样概述的: Vue 在插入、更新或者移除 DOM 时,提供多种不同方式的应用过渡效果。包括以下工具: 在 CSS 过渡和动画中自动…...
Linux环境下SVN服务器的搭建与公网访问:使用cpolar端口映射的实现方法
文章目录 前言1. Ubuntu安装SVN服务2. 修改配置文件2.1 修改svnserve.conf文件2.2 修改passwd文件2.3 修改authz文件 3. 启动svn服务4. 内网穿透4.1 安装cpolar内网穿透4.2 创建隧道映射本地端口 5. 测试公网访问6. 配置固定公网TCP端口地址6.1 保留一个固定的公网TCP端口地址6…...
【ubuntu】 DNS 设置工具 resolvectl
什么是 resolvectl “resolvectl” 是一个用于管理系统 DNS 解析配置的命令行工具。它是 systemd-resolved 服务的一部分,该服务是在许多基于 Systemd 的 Linux 发行版中用于管理网络配置和 DNS 解析的系统服务。 通过 resolvectl 命令,可以查看当前系…...
Keepalived+Lvs(dr)调度器主备配置小实验
目录 前言 一、实验拓扑图 二、配置LVS(dr)模式 三、配置调配器热备 四、测试 总结 前言 Keepalived和LVS(Linux Virtual Server)是两个常用的开源软件,通常结合使用以提供高可用性和负载均衡的解决方案。 Keepalive…...
第四讲Java基本语法——数组结构(多维数组)
前言 前面几讲,我们讲了Java基本语法,初学者也能够有一定的入门。本讲,我们也是继续来讲解一下Java另一个基础语法——数组,其实在前面讲解数据类型的时候,我们也有提到数组是引用类型,那今天我们就来分析一下什么是数组,怎么用数组呢? 一、数组是什么 数组是…...
【题解】JZOJ6578 / 洛谷P5201[USACO2019Jan]Shortcut G
洛谷 P5201 [USACO19JAN] Shortcut G 题意 在一个带权无向连通图上,每个点有 a i a_i ai 只奶牛,奶牛会走最短路径到 1 1 1,如果有多条路径,选择字典序最小的,定义移动总时间为所有奶牛走到 1 1 1 的时间之和。…...
npm install sentry-cli失败的问题
1. 目前报错 2. 终端运行 npm set ENTRYCLI_CDNURLhttps://cdn.npm.taobao.org/dist/sentry-cli npm set sentrycli_cdnurlhttps://cdn.npm.taobao.org/dist/sentry-cli3. 再安装 npx sentry/wizardlatest -i nextjs即可成功...
Node opensslErrorStack 错误解决方法记录
从Git仓库中下载了一个老项目,使用npm install 安装后没有问题,当我使用npm run dev 的时候遇到了 OpenSSL 相关错误,例如 opensslErrorStack: [error:03000086:digital envelope routines::initialization error] 网上找了一下相关信息&am…...
你知道什么是Grandmillennial风格吗,进来看看吧
如果你既欣赏祖母的印花棉布扶手椅和大胆的图案,又喜欢千禧一代朋友现代家居中的开放空间和时尚家具,那么 "千禧一代 “风格就是为你量身打造的。它借鉴了几十年来的流行趋势,形成了一种独特的、带有现代风格的老式设计。 在典型的 &quo…...
App Inventor 2 开发 ChatGPT 对话App
ChatGPT大家应该不会陌生,它的回答内容非常的专业及深入,具有实际的可指导性。我们通过App Inventor 2开发一个简单的对话App,先看效果: App Inventor 2 ChatGPT教育领域对话演示 代码块如下: 用到的核心组件“ChatBot…...
Cursor-Free-VIP技术实现方案:解决AI编程助手试用限制的完整指南
Cursor-Free-VIP技术实现方案:解决AI编程助手试用限制的完整指南 【免费下载链接】cursor-free-vip [Support 0.45](Multi Language 多语言)自动注册 Cursor Ai ,自动重置机器ID , 免费升级使用Pro 功能: Youve reache…...
高德联合千问开源AGenUI:让Agent UI同时跑在iOS、安卓和鸿蒙上
近日,高德与阿里千问C端应用团队联合发布了AGenUI——这是行业首个覆盖iOS、Android、HarmonyOS三端的端云一体原生A2UI开源框架。开发者接入SDK后,即可将Agent的输出直接渲染为可交互的原生卡片,无需为不同平台分别写UI代码。 AGenUI基于Go…...
高性能虚拟显示器驱动架构解析:Parsec VDD核心技术实现与优化
高性能虚拟显示器驱动架构解析:Parsec VDD核心技术实现与优化 【免费下载链接】parsec-vdd ✨ Perfect virtual display for game streaming 项目地址: https://gitcode.com/gh_mirrors/pa/parsec-vdd Parsec Virtual Display Driver (VDD) 是基于Windows Id…...
基于STM32F103C8T6标准库驱动2.4寸SPI TFT触摸屏:从零搭建嵌入式GUI交互系统
1. 项目概述与硬件准备 最近在做一个智能家居控制面板的项目,选用了STM32F103C8T6这块性价比超高的开发板作为主控,搭配2.4寸SPI接口的TFT触摸屏作为人机交互界面。说实话,刚开始接触这个组合时踩了不少坑,特别是用标准库开发的时…...
Python实战:用代码验证哥德巴赫猜想(python123)
1. 哥德巴赫猜想的前世今生 1742年,德国数学家克里斯蒂安哥德巴赫在给欧拉的信中提出了一个看似简单却困扰数学界数百年的猜想:"任一大于2的偶数都可表示为两个素数之和"。这个猜想后来被称为"强哥德巴赫猜想"或"关于偶数的哥德…...
使用Nodejs快速接入Taotoken实现多模型对话功能
🚀 告别海外账号与网络限制!稳定直连全球优质大模型,限时半价接入中。 👉 点击领取海量免费额度 使用Node.js快速接入Taotoken实现多模型对话功能 基础教程类,面向前端或全栈开发者,讲解在Node.js项目中如…...
Chat2DB:重构数据库管理的AI原生范式
Chat2DB:重构数据库管理的AI原生范式 【免费下载链接】Chat2DB AI-driven database tool and SQL client, The hottest GUI client, supporting MySQL, Oracle, PostgreSQL, DB2, SQL Server, DB2, SQLite, H2, ClickHouse, and more. 项目地址: https://gitcode.…...
蓝桥杯嵌入式STM32G431RBT6保姆级外设配置指南(HAL库版,含LCD、ADC、PWM)
蓝桥杯嵌入式STM32G431RBT6实战开发全攻略:从HAL库配置到竞赛项目搭建 第一次拿到DK117E-G4开发板时,面对密密麻麻的引脚和陌生的HAL库,大多数嵌入式初学者都会感到无从下手。本文将带你从零开始,用最直观的方式掌握STM32G431RBT6…...
同花顺远航版SKDJ指标公式设置
这个公式是在同花顺普通版指标的基础上加了些说明元素,具体的代码设置如下:{参数设置} N:9; M:3;{基础计算} LOWV:LLV(LOW,N); HIGHV:HHV(HIGH,N); RSV:EMA((CLOSE-LOWV)/(HIGHV-LOWV)*100,M);K:EMA(RSV,M),COLORFFEF39B2,LINETHICK1; {K线-红色} …...
LINE Messaging API集成实战:基于Node.js开源库的即时通讯解决方案
1. 项目概述:一个被低估的即时通讯集成利器 如果你正在开发一个需要集成即时通讯功能的应用,比如一个电商后台需要向管理员推送订单提醒,或者一个内部系统需要将告警信息发送到团队聊天群,你可能会第一时间想到微信、钉钉或者Tel…...
