一、网站部署

LetsEncrypt-Win-Simple可以自动发现已经部署的网站供我们选择要生成证书的网站,而且还需要进行验证。所以在生成证书之前,确保网站已经部署好并可以正常访问。

二、生成证书

软件下载地址如下:

https://github.com/Lone-Coder/letsencrypt-win-simple/releases

直接下载zip压缩包就好,下载完之后解压运行里面的letsencrypt.exe打开控制台窗口,第一次运行会提示你输入一个邮箱以供后续使用。

Let's Encrypt (Simple Windows ACME Client)

Renewal Period: 60

Certificate Store: WebHosting

ACME Server: https://acme-v01.api.letsencrypt.org/

Config Folder: C:\Users\ling\AppData\Roaming\letsencrypt-win-simple\httpsacme-v01.api.letsencrypt.org

Certificate Folder: C:\Users\ling\AppData\Roaming\letsencrypt-win-simple\httpsacme-v01.api.letsencrypt.org

Getting AcmeServerDirectory

Enter an email address (not public, used for renewal fail notices):

输入一个可用邮箱回车即开始注册,并问你是否同意协议

Calling Register

Do you agree to https://letsencrypt.org/documents/LE-SA-v1.1.1-August-1-2016.pdf? (Y/N)

输入Y回车,邮箱注册完之后,程序会自动获取当前服务器部署的所有网站,如下:

Scanning IIS Site Bindings for Hosts

1: IIS xxling.com (D:\www\xxx)

2: IIS www.xxling.com (D:\www\xxx)

W: Generate a certificate via WebDav and install it manually.

F: Generate a certificate via FTP/ FTPS and install it manually.

M: Generate a certificate manually.

A: Get certificates for all hosts

Q: Quit

Which host do you want to get a certificate for:

输入1或者2就会为相应的域名生成证书,M为手动生成一个证书,A则为所有域名生成证书。这里我们选择A然后回车继续,生成完证书程序还会自动为相应网站配置IIS的SSL。选择了A之后生成的证书在C:\Users\Administrator\AppData\Roaming\letsencrypt-win-simple\httpsacme-v01.api.letsencrypt.org下,具体看后面输出的提示会有位置信息。

由于Let's Encrypt免费SSL证书只有90天的有效期,过期需要更新,该程序会生成一个计划任务,每天上午9点钟运行检查过期的证书并更新。所以生成完成证书会提示你是不是需要指定用户运行刷新证书的计划任务(会显示下次过期的时间),选择Y,输入相应的用户和密码即可。

注意:生成的计划任务的执行程序默认是生成证书时的letsencrypt.exe的路径,请到管理工具-计划任务查看相应任务属性,确认action的letsencrypt.exe路径对不对,如果移动到其它地方了也需要进行相应修改,否则会执行失败!

三、IIS配置

打开IIS,查看域名绑定,就会看到多了443的端口绑定,证书也以配置好。重启一下iis,通过https访问就可以了。

如果是手动配置,在IIS7配置https绑定是host name那栏灰掉,不可输入,此时如果需要指定相应的域名,可以打开以下位置文件:
C:\Windows\System32\inetsrv\config\applicationHost.config

搜索相应域名找到该网站的配置节点,你会发现不输入域名是的https配置如下

<binding protocol="https" bindingInformation="*:443:" />

将其改为

<binding protocol="https" bindingInformation=":443:www.xxling.com" />

即可,域名改为自己实际的域名。

其次,要注意的是,IIS只能绑定一个SSL证书,这生成证书的新版软件好像没有多域名证书生成的选项了,所以只能把其他域名重定向到有证书的域名上。

四、强制HTTPS访问

首先IIS配置选中要求SSL选项

IIS6中,站点属性-》目录安全性-》编辑中把“要求安全通道(SSL)”勾选上即可。

IIS7、8中,SSL设置-》把“要求SSL”勾选即可

此时通过http访问的话会报403错误,我们找到403的html页面,加入以下JavaScript脚本进行跳转:

<script type="text/javascript">

var url = window.location.href;

if (url.indexOf("https") < 0) {

url = url.replace("http:", "https:");

window.location.replace(url);

}

</script>

403文件所在路径如下:

IIS6.0 :C:\WINDOWS\Help\iisHelp\common\403-4.htm

IIS7.0以上 :C:\inetpub\custerr\zh-CN\403.htm

如果使用的英文版系统zh-CN可能为en-US或者其它。

此时我们通过http访问我们的网站时就会自动跳转到https了。

windows server使用 LetsEncrypt-Win-Simple来安装和使用用Let's Encrypt免费SSL证书的更多相关文章

  1. LNMP安装Let’s Encrypt 免费SSL证书方法:自动安装与手动配置Nginx

    前几天介绍了最新StartSSL免费SSL申请与配置,很多人看到部落介绍SSL证书安装时总是推荐了OneinStack,因为OneinStack提供了一键添加和配置Let's Encrypt 免费SS ...

  2. oneinstack如何安装ssl证书和配置Let's Encrypt免费SSL证书教程汇总(转)

    OneinStack包含以下组合:lnmp(Linux + Nginx+ MySQL+ PHP) LNMP安装SSL安全证书 部署HTTPS:https://www.gworg.com/ssl/309 ...

  3. Windows Server 快速生成免费SSL证书 (letsencrypt)

    最近官网需求部署个SSL证书,一番操作后把借鉴的网站与实际过程记录下来 Let's Encrypt,官网是https://letsencrypt.org/,它是一个由各大公司赞助的公益组织: 有趋势有 ...

  4. windows下 申请免费ssl证书的方法 (letsencrypt)

    Let's Encrypt,官网是https://letsencrypt.org/,它是一个由各大公司赞助的公益组织: 有趋势有需求,自然也有免费可用.免费的SSL证书中,首推就是Let's Encr ...

  5. Windows Server 2012 R2 或 2016 无法安装 .NET Framework 3.5.1

    问题描述 使用 Windows Server 2012 R2 或 Windows Server 2016系统,发现在安装 .NET Framework 3.5.1 时报错,报错内容如下图所示. 原因分 ...

  6. Windows Server 2012 R2 或 2016 无法安装 .Net 3.5.1

    Windows Server 2012 R2 或 2016 无法安装 .Net 3.5.1 问题描述 使用 Windows Server 2012 R2 或 Windows Server 2016系统 ...

  7. windows下部署免费ssl证书(letsencrypt)

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

  8. 使用acme.sh申请&自动续期LetsEncrypt免费SSL证书(转)

    一.简介 LetsEncrypt是一个免费.自动.开放的证书颁发机构.acme.sh 实现了 acme 协议, 可以从 LetsEncrypt 生成免费的证书. 本文介绍如何使用acme.sh来签发并 ...

  9. 免费SSL证书Let's Encrypt(certbot)安装使用教程

    免费SSL证书Let's Encrypt(certbot)安装使用教程 https://www.vpser.net/build/letsencrypt-certbot.html

随机推荐

  1. Objective-C——关联对象

    动态语言 OC是一种动态语言,它的方法,对象的类型都是到运行的时候才能够确定的.所以这就使得OC存在了关联对象这一强大的机制. 关联对象 所谓关联对象,其实就是我们在运行时对一个已存在的对象上面绑定一 ...

  2. no斜体 背景图片坐标

    <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/ ...

  3. 【技术累积】【点】【java】【29】MapUtils

    内容 是Apache组织下的commons-collections包中的工具类 <dependency> <groupId>commons-collections</gr ...

  4. CAD创建一个新的图形文件

    static void linea(void) { AcDbDatabase *pDb = new AcDbDatabase(true, false); AcGePoint3d pickPoint; ...

  5. C#文件路径问题

    一丶声明的文件路径 @"/Upload\\" + timeStr + @"\\" + fileName; \\ 中第一个\是转义符 \\表示的是一个字符 即'\ ...

  6. mysql cpu 100% 满 优化方案 解决MySQL CPU占用100%的经验总结

    下面是一些经验 供参考 解决MySQL CPU占用100%的经验总结 - karl_han的专栏 - CSDN博客 https://blog.csdn.net/karl_han/article/det ...

  7. [测试工具]----iperf

    iperf https://sourceforge.net/projects/iperf/ http://downloads.es.net/pub/iperf/ https://github.com/ ...

  8. C语言考试

    1.如何定义一个占用空间为0的变量 2.c++如何在指定内存区域创建对象 3.gcc动态库如何调用宿主执行文件的函数,阐述动态链接库的两种加载方式 4.static有什么用处 5.阐述do{...}w ...

  9. 一个电商项目的Web服务化改造

    一个电商项目的Web服务化改造 项目,早期是随便瞎做的,没啥架构,连基本的设计也没. 有需求,实现需求,再反复修改. 大致就是这么做的. 最近,项目要重新架构,和某boss协商的结果是,采用阿里开源的 ...

  10. Ch’s gift

    Ch’s gift Time Limit: 6000/3000 MS (Java/Others)    Memory Limit: 65536/65536 K (Java/Others) Proble ...