在win2008 r2 英文版 IIS7.5上配置Https,SSL的方法
本博文目的:在非服务器、而且没有证书颁发机构(Certificate Authority简称CA)的开发环境中,配置HTTPS,SSL用于测试或学习
一、建造测试网站
1.在桌面上建立个文件夹,然后再在文件夹里新建个html文件
2.打开IIS,添加网站,如图:
3.访问网站http://localhost:8090,如图:
二、创建证书
IIS里的Server Certificates提供了5种创建证书的方法,见下图:
1.其中Create a Self-Signed Server Certificate选项,创建自签名服务器证书,目的在于:
a)解决第三方证书问题。
b)远程管理 IIS。
c)在服务器与一组有限的已知用户之间创建安全的私有通道,例如软件测试环境中的私有通道。
d)测试依赖 SSL 设置的功能。
使用该功能,证书的Common Name(CN)默认是电脑名+域名,即Computer Name+ Domain,见下图:
2.Create Certificate Request选项则提供了可自定义创建证书的方式,见下图:
点击"Next":
这里提供了2种加密方式:RSA和DH SChannel。点击"Next":
选择一个文件名,如图:
最后点击"Finish"。
打开刚才的文件MyCert.txt,里面内容如下:
这个文件是用于导入到CA里生成证书用的,但关键是我的电脑里没有CA,windows组件里也没有CA的安装选项,也就是说我现在无法制作这个证书了。这时,一个给力的工具就要闪亮登场了——SelfSSL。
三、使用SelfSSL.exe生成证书
下载并安装IIS 6.0 Resource Kit Tools: http://www.microsoft.com/en-us/download/details.aspx?id=17275
或到脚本之家下载://www.jb51.net/softs/140452.html
安装好之后,点击“开始”-“所有程序”-“IIS Resources”-“SelfSSL”,打开SelfSSL,界面如下:
其中/S:site id可以从 IIS根目录->Sites 里看到,如下图:
还有/P:port指https的port,而非http的port。在本例中,指https的默认端口443(当然你也可以指定其他端口),而不是localhost:8090里的8090。
接下来,在SelfSSL里输入命令:selfssl.exe /N:CN=localhost /K:1024 /V:365 /S:2 /P:443,回车之后,见下图:
选择Y并回车,如图:
回到IIS,打开Server Certificates,发现证书已创建成功,如图:
四、绑定证书到网站上
回到IIS,选中站点,右键,选择Edit Bindings,如图:
点击Add按钮
选择Type为https的,并Edit,在弹出的界面里的SSL Certificate下,选择我们刚才创建的证书,如图:
再次回到IIS,选中站点,选择SSL Settings,如图:
打开SSL Settings之后,做出如下选择:
再一次打开我们的网站,发现提示该网站不安全,见下图:
当然,你如果设置SSL Settings如下,则打开网站的时候是这样的:
我们创建的证书,Issued To,Issued By都是同一个,这种叫做根证书,该证书需要存放在Trusted Root Certification Authorities目录下,网站才会被信任,这可以通过certmgr.msc查看。那么如何让SSL验证通过呢,即如何让锁形安全标志出来呢,有两种方法:
1.点击图中红色框处:
出现下面的小弹出框:
点击上图中的“View certificates”:
点击上图中的“Install Certificate”:
点击“Next”:
点击上图中的“Browse”:
选择上图中的“Show physical stores”,并选择“Trusted Root Certification Authorities”:
然后一路点击ok和完成,直到出现“The import was successful”。
这时,我们打开Certmgr.msc,发现证书已成功导入。
此时,打开网站链接https://localhost,发现锁形安全标志已出现:
2.回到IIS,打开Server Certificates,选中我们创建的证书,右键,导出证书,见图:
点击OK之后,会在C盘目录下看到MySSLTest.pfx文件。
在 开始-运行 里输入certmgr.msc,打开Certificate Manager,找到Trusted Root Certification Authorities目录,
并右键,选择All Tasks,然后选择Import:
选择我们刚刚保存的文件MySSLTest.pfx:
点击Next,输入密码:
点击Next:
一路点击Next和Finish,直到出现“The import was successful”:
此时,打开网站链接https://localhost,发现锁形安全标志已出现:
全文完
- Do you kown Asp.Net Core -- 配置Kestrel端口
- 【翻译】在Visual Studio中使用Asp.Net Core MVC创建第一个Web Api应用(二)
- 微信快速开发框架(一)-- 对微信公众平台开发的消息处理
- 微信快速开发框架(二) -- 快速开发微信公众平台框架---简介
- LayoutInflater 布局渲染工具原理分析
- 使用Keras在训练深度学习模型时监控性能指标
- 微信快速开发框架(四)-- 体验微信公众平台快速开发框架
- AsyncTask源码解析
- 微信快速开发框架(五)-- 利用快速开发框架,快速搭建微信浏览博客园首页文章
- 对于小批量梯度下降以及如何配置批量大小的入门级介绍
- 数据结构之二叉树
- 微信快速开发框架(六)-- 微信快速开发框架(WXPP QuickFramework)V2.0版本上线--源码已更新至github
- 数据结构之数组
- Android资源动态加载以及相关原理分析
- JavaScript 教程
- JavaScript 编辑工具
- JavaScript 与HTML
- JavaScript 与Java
- JavaScript 数据结构
- JavaScript 基本数据类型
- JavaScript 特殊数据类型
- JavaScript 运算符
- JavaScript typeof 运算符
- JavaScript 表达式
- JavaScript 类型转换
- JavaScript 基本语法
- JavaScript 注释
- Javascript 基本处理流程
- Javascript 选择结构
- Javascript if 语句
- Javascript if 语句的嵌套
- Javascript switch 语句
- Javascript 循环结构
- Javascript 循环结构实例
- Javascript 跳转语句
- Javascript 控制语句总结
- Javascript 函数介绍
- Javascript 函数的定义
- Javascript 函数调用
- Javascript 几种特殊的函数
- JavaScript 内置函数简介
- Javascript eval() 函数
- Javascript isFinite() 函数
- Javascript isNaN() 函数
- parseInt() 与 parseFloat()
- escape() 与 unescape()
- Javascript 字符串介绍
- Javascript length属性
- javascript 字符串函数
- Javascript 日期对象简介
- Javascript 日期对象用途
- Date 对象属性和方法
- Javascript 数组是什么
- Javascript 创建数组
- Javascript 数组赋值与取值
- Javascript 数组属性和方法
- K8s集群上使用Helm部署2.4.6版本Rancher集群
- 一个工作三年的同事,居然还搞不清深拷贝、浅拷贝...
- 太有意思了,教你实现实现王者荣耀团战!
- 动画:什么是基数排序?
- 一个有意思的分钱模拟问题
- 如何快速的开发一个完整的直播购物源码,基础篇
- 「拥抱开源」Nacos 实战篇
- 仅2M!免费软件又一次干掉了付费版
- python爬虫学习 爬取幽默笑话网站
- 如何用Python快速优雅的批量修改Word文档样式?
- 为什么MySQL不推荐使用uuid或者雪花id作为主键?
- 用Python打造一款文件搜索工具,所有功能自己定义!
- 用Python绘制诱人的桑基图,一眼看透熬夜和狗粮的秘密
- magento换域名和服务器要怎么操作
- 从零搭建SpringBoot+MyBatis+MySQL工程