windows下部署免费ssl证书(letsencrypt)的方法

随着网络的发展,网络安全也越来越重要,对于网站来说,从Http升级到https也是我们要做的首要事情。要实现https,首先我们需要申请一张SSL证书,这篇文章我主要介绍下边这几个方面:

1. SSL简单介绍

2. 免费Letencrypt证书部署

3. 安装注意事项

一.SSL简单介绍

  ssl作为一个网络加密协议,主要是存在于系统中应用层和传输层之间的一个安全套接字层(Secure Socket Layer),也就是位于TCP/IP协议和各个应用层协议之间,为应用数据传输提供加密的协议。当然它内部又分记录协议和握手协议两个部分,这里如果有兴趣的可以去详细了解一下,我先简单介绍一下流程性的东西。

  它的工作流程大概可以理解为这样,客户端发起网络请求给服务端,发起握手,交换证书信息,建立连接。简单来说分为下边几部:

  客户端:发送其支持的ssl版本和加密方式给服务端。

  服务端:选择加密方式并发送证书和公钥给客户端

  客户端:验证证书信息,并通过公钥生成共享秘钥,交换

  服务端:好,咱们可以传递加密数据了

  以上是简单的描述了握手的过程,每一步都可以继续分解,可以自行查找相关文档深入了解。

  这里需要介绍的另外一个协议TLS,这个协议建立在SSL3.0规范之上,更加严格明确。其中它又有一个扩展协议叫做 SNI(Server Name Indication-服务器名称指示),这里介绍下它的主要作用。

  在我们常用的主机中,可能会有很多站点,我们并不能够一次性提前获知将使用此服务器的所有域名列表,但是我们不能每次修改域名重新颁发一次证书,所以有了SNI,让我们可以在一台主机上能够部署多个证书, 使得服务器可以在握手阶段选择正确虚拟域,并发送对应证书。在IIS8.0以上版本中,我们绑定域名时会有如下的选项:

   当前有很多免费和收费 ssl的证书提供商可以供我们选择,当然我们也可以自己作为颁发主体,制作ssl证书,不过像谷歌等浏览器对于不受信任的证书机构在页面上会给提示存在安全风险,阻止访问,这对用户体验来说是非常糟糕的。根据安全等级,当前ssl证书根据主要有以下几类:

  EV - 业界顶级SSL证书,部署了EV SSL证书的网站,地址栏会变成醒目的绿色,并且显示网站所属企业名称

  OV - 使用较为广泛的企业验证型SSL证书,部署了OV SSL证书之后,地址栏会有安全锁标识显示

  DV - 只验证域名,快速签发的SSL证书。也会在地址栏显示安全锁标识,但证书详情里面不显示O字段,不显示使用者名称,只显示域名

  当前受到主流浏览器承认的很多SSL证书机构颁发的免费证书主要也都是DV等级。下面我介绍一下最近比较知名的 Letencrypt 免费ssl证书在windows下的部署过程。

二. 免费Letencrypt证书部署

  这个是由国外发起的一个免费的ssl项目,现在已经得到了谷歌等主流浏览器的认可。从安全角度考虑,通过Letencrypt安装的免费证书只有三个月的有效期,到期之需要重新申请,但是这也给部署造成了一定的麻烦,所以官方也提供了各种自动化的解决方案,这里我介绍的是windows下的证书申请和自动更新工具 letsencrypt-win-simple。

  首先我们下载   GitHub地址(https://github.com/Lone-Coder/letsencrypt-win-simple/releases) 并解压

  因为安装过程需要在站点下生成验证文件,所以请以管理员模式进入cmd界面,也可以右键开始菜单 点击 命令提示符(管理员)选项

进入解压文件夹,运行 letsencrypt.exe --san 命令

执行完之后会自动将IIS下的所有网站列出来,后边会有如下几个选项:

这几个选项分别对应不同的情况,这里因为我的机器下有好几个站点,我想给他们统一颁发一个证书,我选择S,之后它会提示你输入要安装的站点序号,这里我输入 3,4

接下来它会在每个站点下创建一个里验证文件,验证通过之后就会生成对应证书添加到IIS中,如果一切正常的情况下会在任务管理中创建一个定时更新任务。

当前这个软件还存在一些bug,我个人在安装中也遇到了几个异常终止的错误,重复操作两次才正常通过,如果你也遇到问题,可以直接去IIS下证书管理,查看是否已经创建了对应的证书,如果存在可以手动绑定。

三. 注意事项

  使用Letencrypt时有一定的次数限制,以防止申请的滥用,这里是 官方网站 给出的限制信息:

If you have a lot of subdomains, you may want to combine them into a single certificate, up to a limit of 100 Names per Certificate. Combined with the above limit, that means you can issue certificates containing up to 2,000 unique subdomains per week. A certificate with multiple names is often called a SAN certificate, or sometimes a UCC certificate.

We also have a Duplicate Certificate limit of 5 certificates per week. A certificate is considered a duplicate of an earlier certificate if they contain the exact same set of hostnames, ignoring capitalization and ordering of hostnames. For instance, if you requested a certificate for the names [www.example.com, example.com], you could request four more certificates for [www.example.com, example.com] during the week. If you changed the set of names by adding [blog.example.com], you would be able to request additional certificates.

  如果你需要测试,可以在命令行中执行:letsencrypt.exe --test 。进入测试环境。

以上所述是小编给大家介绍的windows下部署免费ssl证书(letsencrypt)的方法,希望对大家有所帮助,如果大家有任何疑问请给我留言,小编会及时回复大家的。在此也非常感谢大家对我们网站的支持!

(0)

相关推荐

  • WIN2008 R2 Active Directory 之一 部署企业中第一台Windows Server 2008 R2域控制器

    前言 对于活动目录(AD)来讲,从Windows 2000到现在有非常多的文章在对其进行探讨,微软公司每推出一代新的Windows系统,这一重要服务技术不管是从功能上还是从性能上都在不断进步.在此,以最新Windows Server 2008 R2(以后简称WIN08R2)系统为例,从零开始讲述关于WIN08R2活动目录相关技术.希望能一直坚持写完! --胖哥 通过多年来AD在企业中的部署,技术人员几乎都知道与活动目录相关的一系列概念了,如:域.域树.域林.OU和站点,还有域控制器(DC)等.那

  • windows2003 IIS6 部署MVC3和MVC4程序的方法

    1.服务器上安装SP2 和 IIS6 2.安装.Net Framework3.5 SP1(完整安装包,包含2.0 2.0SP1,237MB那个安装包http://www.jb51.net/softs/75472.html) 3.安装.Net Framework4.0 http://www.jb51.net/softs/25944.html 4.安装WindowsServer2003-KB968930-x86-CHS.exe,PowerShell 2.0的补丁(下载地址:http://www.mi

  • Windows下部署Apache+PHP+MySQL运行环境实战

    官方下载地址:MySQL http://www.mysql.com/downloads/mysql/ 找个MSI文件下下来.Apache http://httpd.apache.org/download.cgiPhp http://windows.php.net/download/#php-5.4 首先是MySQL,(这边吐槽一下被Oracle收购的MySQL) 一步一步往下,无需更多的配置 然后安装Apache, 也是一步一步往下 安装PHP,(我偷懒我自豪, 在PHP下载页面找那个Insta

  • windows安装nginx部署步骤图解(反向代理与负载均衡)

    一.下载安装Nginx(本文环境为windows xp 32bit环境) 解压nginx-1.0.11.zip,进入nginx-1.0.11,在命令行中执行命令让Nginx启动.具体操作如下图: 测试是否安装成功,输入地址:http://localhost:8090 浏览器显示结果如下图: OK,Nginx部署成功了. 二.关于Nginx的反向代理配置. 反向代理(Reverse Proxy)方式是指以代理服务器来接受internet上的连接请求,然后将请求转发给内部网络上的服务器,并将从服务器

  • Windows 2003部署软件

    作为网络管理员,经常要做的工作之一就是各种软件的部署,包括系统软件和应用软件等.在一个大范围的网络环境中,靠拿安装盘进行本地安装的方法来部署软件,既效率低.影响工作,又可能出现失误,因此在这种情况下常用的安装方式就是进行网络安装.但是目前网络安装一般采用共享安装盘进行安装,这种安装方式有两个 主要缺点:一是客户端必须已经与服务端联网,否则无法访问共享资源,比如一台没有任何系统的新机器就不能使用共享资源:二是即使在客户端连接了服务端的共享后,在安装应用程序的过程中仍然要有管理员在场的随时参与,否则

  • Windows Server 2008 R2上部署Exchange Server 2010图文教程

    这两个产品可谓是09年下半年微软推出的重头产品,均为64位架构,而且其功能和性能远远超出了其早期版本,在此不再对这方面的内容做过多的描述. Windows Server 2008 R2和Exchange Server 2010的结合是"完美"的.对于Exchange Server 2010的前一版本Exchange Server 2007来讲,只能运行在Windows Server 2008操作平台上,因此,想要在Windows Server 2008 R2部署Exchange 看来只

  • windows下部署免费ssl证书(letsencrypt)的方法

    随着网络的发展,网络安全也越来越重要,对于网站来说,从Http升级到https也是我们要做的首要事情.要实现https,首先我们需要申请一张SSL证书,这篇文章我主要介绍下边这几个方面: 1. SSL简单介绍 2. 免费Letencrypt证书部署 3. 安装注意事项 一.SSL简单介绍 ssl作为一个网络加密协议,主要是存在于系统中应用层和传输层之间的一个安全套接字层(Secure Socket Layer),也就是位于TCP/IP协议和各个应用层协议之间,为应用数据传输提供加密的协议.当然它

  • 微信小程序 免费SSL证书https、TLS版本问题的解决办法

    微信小程序 免费SSL证书https.TLS版本问题的解决办法 微信小程序与第三方服务器通讯的域名5个必要条件 1.一个已备案的域名,不是localhost.也不是127.0.0.1,域名不能加端口 2.加ssl证书,也就是https://~~~ 4.HTTPS 服务器的 TLS 版本支持1.2及以下版本,一般就是1.0.1.1.1.2要同时支持这三个版本,一个也不能少,要不然就会出现下面这种情况 5.微信小程序后台加上合法域名设置(一个月内改的次数是有限的,且行且珍惜)如下图 以上5个条件,必

  • 阿里云申请云盾免费SSL证书(https)

    因项目需要须使用https服务,得知阿里云可以免费申请. 我们的前提:  1.有阿里云的服务器账号. 2.申请的域名托管在阿里云的云解析服务 有了这两个前提申请就方便快捷多了. 1.登录阿里云-->安全(云盾)-->证书服务 注: 感谢评友提示,  最新的查找申请证书方式更正一下,  得倒着往上点,symantec---单个域名----免费型 2.选择购买证书 3.在配置单中选择 "免费型DV SSL"   证书提供商品牌为:"赛门铁克" 注意:免费数字

  • docker获取Let's Encrypt永久免费SSL证书的方法

    一.起因 官方的cerbot太烦了,不建议使用还不如野蛮生长的acme.sh,而这里介绍docker运行cerbot获取Let's Encrypt永久免费SSL证书 二.选型 cerbot的证书不会自动刷新日期,但是acme.sh自带这功能,每天凌晨0:00自动检测过期域名并且自动续期 选择docker运行cerbot,是为了让服务器里尽量少配置和无意义的程序,方便管理.例如Let's Encrypt需要的Python2.7,git,pip我们都不需要装在宿主机内,容器就自己配置好了 原文 ht

  • windows 下忘记mysql root密码的更改方法

    mysql数据库忘记了root密码是件很痛苦的事,本文介绍如何解决windows环境下mysql服务器忘记root密码的解决方法. 1.关闭MySQL服务 window+r运行输入net stop mysql 2.在mysql的bin目录下打开命令行 空白处shift+鼠标右键---->找到在此处打开命令窗口 3.输入mysqld -nt --skip-grant-tables 出现信息以"set to off"结束,说明成功 4.同样地点另开一个命令行,输入mysql,回车 5

  • 在windows下使用python进行串口通讯的方法

    Windows版本下的python并没有内置串口通讯的pyserial的库,所以需要自己下载.参照了网上的教程,有许多用的pip的安装方式,但是试了几个都没有用,所以想到用GitHub下载库文件,步骤分为: 1.在Github下载python-serial的库 https://github.com/pyserial/pyserial 2.下载完成后解压压缩包,找到serial文件夹,并找到python的安装位置(右击IDLE,然后查看python安装位置).我的地址为:C:\Users\NI Y

  • windows下 兼容Python2和Python3的解决方法

    windows下同时安装了python2和python3时,都可以配置环境变量,如果在命令行里输入python命令,windows会去环境变量里寻找Python的安装位置,如果先找到pytoon2的,那么此时默认用python2,如果先找到python3,那么此时默认用python3. python命令调用 如果想要指定使用python2还是Python3,需要使用如下命令: py -2 启动python2 py -3 启动python3 注:使用此命令,python2和python3都需要配置

  • Windows下mysql 8.0.28 安装配置方法图文教程

    本文为大家分享了Windows下mysql 8.0.28 安装配置方法图文教程,供大家参考,具体内容如下 本教程只针对于8.0版本及以上的版本5.0版本不能以这方法安装 第一步:先去MySql官网下载8.0.28的安装包MySQL :: Download MySQL Community Server 或点击这里下载 推荐下载第一个 第二步:解压在本地盘符 创建my.ini配置文件,因为下面会有控制台创建data文件,所以在这里不要自己创建data文件夹,不要自己创建data文件夹,不要自己创建d

  • windows下使用GoLand生成proto文件的方法步骤

    目录 下载编译器protoc 1.使用google官方protoc 2.使用三方protoc,比如我使用的gogo的protoc 设置环境变量 编写proto文件 将proto文件编译为pb.go文件 下载编译器protoc 两种方式: 1.使用google官方protoc 下载地址:https://github.com/google/protobuf/releases 2.使用三方protoc,比如我使用的gogo的protoc 下载地址:https://github.com/gogo/pro

  • 腾讯云申请免费ssl证书配置tomcat使http变https

    买了腾讯云服务器,想在自己的网站前面加上https,步骤就三步: 1.在腾讯云找到ssl证书申请(苦逼程序员就申请免费的吧) [1]登录进腾讯云找到ssl证书申请 [2]点击申请证书,苦逼就申请免费的吧,任性点的可以考虑购买... [3]填写相关的信息,并进行邮箱验证 通用名称--你自己的域名 申请邮箱--用于验证的 证书备注名--自定义随便取个吧 私钥密码--可填可不填(楼主填了) 所属项目--都是默认项目 ps:填完之后下一步,有三个选项,如果你的域名已经绑定了服务器,就选择自动,否则选择手

随机推荐