windows Server下Let‘s Encrypt的SSL证书续期

一、手动续期方法:

暂停IIS服务器 --> 暂时关闭防火墙 --> 执行certbot renew --> 打开防火墙 --> 用OpenSSL将证书转换为PFX格式-->pfx文件导入到IIS --> IIS对应网站中绑定新证书 --> 重新启动IIS -->完成

1、暂停IIS服务器

2、暂时关闭防火墙,命令

netsh advfirewall set allprofiles state off

3、在开始菜单中打开Certbot客户端(或者管理员权限powershell进入Certbot安装目录下的\bin目录)

先查看一下到期信息:

certbot certificates

 

执行

certbot renew

成功!

4、关闭防火墙

netsh advfirewall set allprofiles state on

5、用OpenSSL将最新获得的PEM格式的证书和私钥转换为PFX格式

-->C:\Certbot\archive\yourdomain.com\ 目录下找到最新的privkey.pem 和 fullchain.pem,复制到一个指定目录,然后在OpenSSL安装目录下执行:

C:\Program Files\OpenSSL-Win64\bin>openssl pkcs12 -export -out F:\pem\mysite.pfx -inkey F:\pem\privkey.pem -in F:\pem\fullchain.pem

6、双击pfx文件导入到IIS。(需输入创建pfx文件时设置的密码)

7、IIS对应网站中绑定证书:

8、重新启动IIS

 二、自动续期方法

[未验证,以下是GPT的解答]

在Windows和IIS环境下实现SSL证书的自动续期,尤其是当使用Certbot客户端且需要特定操作(如暂停IIS服务器和关闭防火墙)来成功完成续期时,会稍显复杂。不过,你可以通过创建一个自动化脚本并结合Windows任务计划程序来实现这个目标。下面是一种可能的解决方案:

第一步:创建一个批处理脚本

  1. 创建一个新的批处理文件(例如,CertbotRenew.bat),并将其存放在一个可靠的位置,比如C:\Scripts\

  2. 编辑批处理文件,加入以下命令行:

    @echo off
    REM 停止IIS服务
    iisreset /stopREM 关闭Windows防火墙
    netsh advfirewall set allprofiles state offREM 执行Certbot续期
    "C:\Program Files\Certbot\bin\certbot.exe" renewREM 开启Windows防火墙
    netsh advfirewall set allprofiles state onREM 重新启动IIS服务
    iisreset /start
    

    确保调整上述脚本中的路径和命令以匹配你的环境和需求。

第二步:使用Windows任务计划程序创建一个任务

  1. 打开任务计划程序:在开始菜单搜索"任务计划程序"并打开它。

  2. 创建新任务:在“操作”菜单中选择“创建任务”。

  3. 配置任务

    • 在“常规”标签下,给任务命名,并选择“不管用户是否登录都要运行”。
    • 在“触发器”标签下,点击“新建”,设置任务的开始时间和重复频率。你可能希望每月运行一次,因为Let's Encrypt的证书有效期为90天,这样可以确保在证书到期之前有足够的时间来解决可能出现的任何问题。
    • 在“操作”标签下,点击“新建”,“操作”选择“启动程序”,在“程序或脚本”框中输入你的批处理文件的路径(例如,C:\Scripts\CertbotRenew.bat)。
  4. 完成和保存任务:配置完毕后,点击“确定”保存新任务。

通过这种方式,你就创建了一个自动化任务,它会根据你设置的时间表自动运行,执行必要的操作来续期你的SSL证书,包括在续期过程中暂停IIS服务和关闭防火墙。

注意事项

  • 确保在设置自动续期前,手动运行一次脚本来验证所有步骤都能正常工作。
  • 考虑到安全性,频繁关闭防火墙并不是一个好的安全实践。如果可能,寻找不需要关闭防火墙的续期方法,例如配置适当的防火墙规则来允许Certbot进行验证,可能会是一个更安全的选择。
  • 如果你的IIS站点配置或DNS记录会经常变动,确保在续期前验证这些配置仍然有效,以免自动续期失败。
  • 考虑在脚本中加入日志记录功能,以便跟踪续期过程中可能出现的任何问题

三、windows + IIS 环节下如何使用Webroot插件完成SSL证书续期

在Windows和IIS环境下使用Certbot的Webroot插件完成SSL证书续期,需要确保Certbot能够在你的Web服务器上放置一个特殊文件,Let's Encrypt的验证服务器会访问这个文件以验证域名的所有权。这个过程不需要停止IIS服务或关闭防火墙,但要求IIS能够提供访问.well-known/acme-challenge目录下文件的HTTP服务。

步骤 1: 确保Webroot路径存在

首先,你需要确定或创建一个目录,作为Webroot插件放置验证文件的地方。这通常是你网站文件存放的根目录。例如,如果你的网站根目录是C:\inetpub\wwwroot,你需要确保这个目录存在并且IIS有权限访问它。

步骤 2: 配置IIS以服务.well-known/acme-challenge

  1. 打开IIS管理器。
  2. 选择你的网站。
  3. 在“操作”面板中,点击“浏览目录”并确保.well-known目录存在于你的Webroot目录下。如果不存在,请创建它。
  4. 同样,确保.well-known目录下有一个名为acme-challenge的子目录。
  5. .well-known/acme-challenge目录配置MIME类型,以确保IIS能够正确地服务在此目录下创建的文件。在IIS管理器中选择网站或服务器级别,然后打开“MIME 类型”。添加一个新的MIME类型:文件扩展名为.*,MIME类型为text/plain

步骤 3: 使用Webroot插件续期证书

在确认了上述配置后,你可以使用以下命令来续期证书,其中<your-webroot-path>需要替换为实际的Webroot路径,例如C:\inetpub\wwwroot

certbot certonly --webroot -w <your-webroot-path> -d example.com -d www.example.com

这个命令会告诉Certbot使用Webroot插件,-w选项指定了Webroot目录的路径,-d选项后面跟着你想要证书覆盖的域名。

步骤 4: 更新IIS以使用新的证书

续期证书后,你可能需要手动更新IIS配置,以使用新的证书。这可以通过IIS管理器完成:

  1. 打开IIS管理器。
  2. 选择你的网站,然后点击“绑定…”。
  3. 找到使用旧证书的HTTPS绑定,点击“编辑”。
  4. 在“SSL 证书”下拉菜单中,选择新续期的证书。
  5. 点击“确定”保存更改。

自动化续期

虽然使用Webroot插件可以手动续期证书,但Certbot在Windows上的自动续期可能不如Linux上那么直接。你可以通过创建一个定时任务来定期运行续期命令,并检查日志文件确认续期成功。

请注意,这个过程中的确切步骤可能根据你的具体环境和配置有所不同。如果遇到问题,检查Certbot日志文件和IIS日志文件可以提供有用的信息。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://xiahunao.cn/news/2805628.html

如若内容造成侵权/违法违规/事实不符,请联系瞎胡闹网进行投诉反馈,一经查实,立即删除!

相关文章

如何将QQ音乐的歌单导出到excel

一、提前准备 1.选择你需要导出的音乐歌单 2.得到你的歌单ID 1、首先打开QQ音乐&#xff0c;找到想要查看的歌单&#xff0c;点击歌单右上角的更多按钮。 2、其次在弹出的菜单中选择分享&#xff0c;在分享页面中&#xff0c;选择歌单分享。 3、最后在分享页面中&#xff0c…

【Docker 的安装:centos】

文章目录 1 :peach:各版本平台支持情况:peach:2 :peach:CentOS 安装:peach:2.1 :apple:安装依赖:apple:2.2 :apple:安装 Docker:apple:2.3 :apple:实战经验:apple:2.3.1 :lemon:Docker 镜像源修改:lemon:2.3.2 :lemon:Docker 目录修改:lemon: 1 &#x1f351;各版本平台支持情况…

【数据结构和算法初阶(C语言)】——数据结构前言,初识数据结构(给你一个选择学习数据结构和算法的理由)

1.何为数据结构 数据结构(Data Structure)是计算机存储、组织数据的方式&#xff0c;指相互之间存在一种或多种特定关系的 数据元素的集合。本质来讲就是在内存中去管理数据方式比如我们的增删查改。在内存中管理数据的方式有很多种&#xff08;比如数组结构、链式结构、树型结…

【蓝桥杯省赛真题26】python整数逆序输出 青少年组蓝桥杯比赛python编程省赛真题解析

目录 python整数逆序输出 一、题目要求 1、编程实现 2、输入输出 二、算法分析 三、程序代码 四、程序说明 五、运行结果 六、考点分析 七、 推荐资料 1、蓝桥杯比赛 2、考级资料 3、其它资料 python整数逆序输出 第十二届蓝桥杯python比赛省赛真题 一、题目要求…

目标检测卷王YOLO卷出新高度:YOLOv9问世

论文摘要:如今的深度学习方法重点关注如何设计最合适的目标函数,使得模型的预测结果能够最接近真实情况。 同时,必须设计一个适当的架构,可以帮助获取足够的信息进行预测。 现有方法忽略了一个事实,即当输入数据经过逐层特征提取和空间变换时,大量信息将会丢失。 本文将深…

2024全国水科技大会暨流域水环境治理与水生态修复论坛(六)

论坛召集人 冯慧娟 中国环境科学研究院流域中心研究员 刘 春 河北科技大学环境与工程学院院长、教授 一、会议背景 为深入贯彻“山水林田湖是一个生命共同体”的重要指示精神&#xff0c;大力实施生态优先绿色发展战略&#xff0c;积极践行人、水、自然和谐共生理念&…

【大数据】Flink 内存管理(二):JobManager 内存分配(含实际计算案例)

Flink 内存管理&#xff08;二&#xff09;&#xff1a;JobManager 内存分配 1.分配 Total Process Size2.分配 Total Flink Size3.单独分配 Heap Size4.分配 Total Process Size 和 Heap Size5.分配 Total Flink Size 和 Heap Size JobManager 是 Flink 集群的控制元素。它由三…

【vscode】按F5无法执行调试python或go

原因&#xff1a; 找不到解析器&#xff0c;需要安装插件&#xff08;python&#xff0c;或go 等&#xff09; 安装插件后&#xff0c;还是无法执行&#xff0c;按 ctrlshiftp,看不到解析器 正常应该是&#xff1a; 解决方法&#xff1a; 1、判断python是否安装成功 pyth…

uni-app 黑魔法探秘 (一)—— 重写内置标签

一、背景 政采前端团队的移动端跨端解决方案选择的是 uni-app。跨端方案的好处就是一码多端&#xff0c;即书写一次就可以输出到 web、小程序、Anroid、iOS 等各端。既然是开发&#xff0c;那必然少不了配套的组件库和方法库&#xff0c;而我们公司因为历史原因存在一些的非 u…

每日一题(寻找奇数,寻找峰值)

寻找奇数_牛客题霸_牛客网 (nowcoder.com) #include <stdio.h> #include<stdlib.h> int main() {int n0;int num0;scanf("%d",&n);int* arr(int*)malloc(sizeof(int)*n);int i0;for(i0;i<n;i){scanf("%d",&arr[i]);//在循环内&…

C++之类作用域

目录 1、全局作用域 2、类作用域 2.1、设计模式之Pimpl 2.2、单例模式的自动释放 2.2.0、检测内存泄漏的工具valgrind 2.2.1、可以使用友元形式进行设计 2.2.2、内部类加静态数据成员形式 2.2.3、atexit方式进行 2.2.4、pthread_once形式 作用域可以分为类作用域、类名…

MobaXterm连接VirtualBox虚拟机

目录 1.下载MobaXterm 2.获取连接配置 3.mobaXterm连接虚拟机 4.更好的方案 1.下载MobaXterm 据说MobaXtrem是远程终端的超级全能神器,官网下载地址&#xff1a;MobaXterm free Xserver and tabbed SSH client for Windows 选择适合你的版本&#xff1a;一个是Home Editi…

基于编译器的静态代码分析与软件开发效率、质量和性能

基于编译器的静态代码分析与软件开发效率、质量和性能 本文节选自《基础软件之路&#xff1a;企业级实践及开源之路》一书&#xff0c;该书集结了中国几乎所有主流基础软件企业的实践案例&#xff0c;由 28 位知名专家共同编写&#xff0c;系统剖析了基础软件发展趋势、四大基…

JavaScript实现页面随着某元素自动滚动(歌词居中)

在开发过程中想要使页面随着某个元素自动滚动&#xff0c;可以使用Element.scrollIntoView()。 下面举例一个歌词的居中显示 let lyc document.querySelectorAll(.has-lyric li)[i] //获取当前播放的歌词lyc.scrollIntoView({behavior: "smooth", // 定义动画过渡…

ChatGPT/GPT4科研应用与AI绘图及论文写作

2023年随着OpenAI开发者大会的召开&#xff0c;最重磅更新当属GPTs&#xff0c;多模态API&#xff0c;未来自定义专属的GPT。微软创始人比尔盖茨称ChatGPT的出现有着重大历史意义&#xff0c;不亚于互联网和个人电脑的问世。360创始人周鸿祎认为未来各行各业如果不能搭上这班车…

Flink ML 的新特性解析与应用

摘要&#xff1a;本文整理自阿里巴巴算法专家赵伟波&#xff0c;在 Flink Forward Asia 2023 AI特征工程专场的分享。本篇内容主要分为以下四部分&#xff1a; Flink ML 概况在线学习的设计与应用在线推理的设计与应用特征工程算法与应用 一、Flink ML 概况 Flink ML 是 Apache…

算法打卡day1|数组篇|Leetcode 704.二分查找、27.移除元素

数组理论基础 数组是存放在连续内存空间上的相同类型数据的集合&#xff0c;可以方便的通过下标索引的方式获取到下标下对应的数据。 1.数组下标都是从0开始的。 2.数组内存空间的地址是连续的。 正是因为数组的在内存空间的地址是连续的&#xff0c;所以我们在删除或者增添…

ShardingSphere5.x 分库分表

一、shardingSphere介绍 1、官网&#xff1a;Apache ShardingSphere 2、开发文档&#xff1a; 概览 :: ShardingSphere 3、shardingsphere-jdbc ShardingSphere-JDBC 定位为轻量级 Java 框架&#xff0c;在 Java 的 JDBC 层提供的额外服务。 它使用客户端直连数据库&#x…

转运机器人,AGV底盘小车:打造高效、精准的汽车电子生产线

为了满足日益增长的市场需求&#xff0c;保持行业领先地位&#xff0c;某汽车行业电子产品企业引入富唯智能AMR智能搬运机器人及其智能物流解决方案&#xff0c;采用自动化运输措施优化生产节拍和搬运效率&#xff0c;企业生产效率得到显著提升。 项目背景&#xff1a; 1、工厂…

【算法与数据结构】1971、LeetCode寻找图中是否存在路径

文章目录 一、题目二、解法三、完整代码 所有的LeetCode题解索引&#xff0c;可以看这篇文章——【算法和数据结构】LeetCode题解。 一、题目 二、解法 思路分析&#xff1a;本题应用并查集的理论直接就可以解决&#xff1a;【算法与数据结构】回溯算法、贪心算法、动态规划、图…