开发者社区> 余二五> 正文
阿里云
为了无法计算的价值
打开APP
阿里云APP内打开

在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

安装好之后,点击“开始”-“所有程序”-“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,发现锁形安全标志已出现:

 

全文完










本文转自 yuanzhitang 51CTO博客,原文链接:http://blog.51cto.com/yuanzhitang/1977643,如需转载请自行联系原作者

版权声明:本文内容由阿里云实名注册用户自发贡献,版权归原作者所有,阿里云开发者社区不拥有其著作权,亦不承担相应法律责任。具体规则请查看《阿里云开发者社区用户服务协议》和《阿里云开发者社区知识产权保护指引》。如果您发现本社区中有涉嫌抄袭的内容,填写侵权投诉表单进行举报,一经查实,本社区将立刻删除涉嫌侵权内容。

相关文章
iis上如何架设HTTPS网站
对于HTTPS网站,大部分都比较陌生,觉得很难,其实只要申请好证书,只要在服务器上做下小配置就可以完成 首先,申请一个ssl证书 免费申请https://buy.wosign.com/free/FreeSSL.
989 0
HTTP协议简单记录
http协议的格式   1. 首行  2. 头  3. 空行  4. 体 http请求头   #Referer 请求来自哪里,如果是在http://www.baidu.com上点击链接发出的请求,那么Referer的值为http://www.baidu.com。
695 0
HTTP协议建立连接、通讯与关闭连接全过程
为解决服务器TimeWait多的问题,了解了一下TCP/IP协议的连接过程。以访问一静态页面为例,从建立连接到访问拿到数据,然后关闭的整个过程。使用EtherPeek截图如下:   图首为一次交互过程的总览,图中用圈圈+颜色标注了连接过程中数据的变化过程。
1242 0
简单聊聊HTTP/TCP/IP协议
HTTP协议 一丶什么是HTTP协议:   HTTP协议是hypertexttransferprotocol(超文本传输协议)的简写,它是TCP/IP协议的一个应用层协议,用于定义WEB浏览器服务器之间交换数据的过程,客户端连上web服务器后,若想获得web服务器中的某个资源,需遵守一定的通讯格式,HTTP协议用于定义客户端与web服务器通讯的格式。
741 0
HTTP协议
1.什么是协议?          协议:是通信双方应该遵守的一个共同的规则。只有双方按照指定的规则,一方发送数据,另外一方才能接受到数据。   2.什么是http协议?       在互联网中,我们通过浏览器访问其他的网站,默认都会使用http协议。
627 0
用nginx搭建http/rtmp/hls协议的MP4/FLV流媒体服务器
前前后后搭建了两三个星期,终于可以告一段落,nginx实在是有点强大。写一篇笔记来记录一下这个过程中的思路和解决方案。 一.搭建nginx平台: 基本是基于http://blog.csdn.net/xiaoliouc/article/details/8363984 一步步安装nginx搭建流媒体服务器 这篇博客来搭建。
3411 0
libcurl 通过http协议下载文件并显示下载进度
vc6 测试工程下载地址: http://download.csdn.net/detail/mtour/8068053   代码如下:     [cpp] view plain copy     size_t my_write_func(void *ptr, siz...
2318 0
超文本传输协议 -- HTTP/1.0 Hyptertext Transfer Protocol
组织:中国互动出版网(http://www.china-pub.com/)RFC文档中文翻译计划(http://www.china-pub.com/compters/emook/aboutemook.htm)E-mail:ouyang@china-pub.com译者:黄晓东(黄晓东  xdhuang@eyou.com)译文发布时间:2001-7-14版权:本中文翻译文档版权归中国互动出版网所有。
1745 0
+关注
文章
问答
文章排行榜
最热
最新
相关电子书
更多
CDN助力企业网站进入HTTPS时代
立即下载
大国重器--依托光电云打造创新驱动新生态
立即下载
低代码开发师(初级)实战教程
立即下载