iis 7 ssl https配置方法

iis 7 ssl https教程配置方法
iis6(windows2003)下,ssl的所有配置信息都保存在iis元数据中,在用户模式中加密解密(这会耗费很多的内核/用户模式转换)。在iis7中,http.sys在内核模式下操作ssl加密解密,相对于iis6,这种方式能提高近20%的性能。
 

当ssl运行于内核模式时,会将ssl绑定信息保存在两个地方。第一个地方,绑定配置保存在%windir%system32inetsrvconfigapplicationhost.config中,当站点启动时,iis7发送绑定信息给http.sys,同时http.sys会在特定的ip和端口监听请求。第二个地方,与绑定相关联的ssl配置保存在http.sys配置中。使用netsh命令可以查看保存在http.sys的ssl绑定配置:

netsh http show sslcert

当一个客户开始连接并初始化ssl协商时,http.sys在它的配置中查找这个ip:port对应的ssl配置。这个ssl配置必须包括证书hash值和名称:

l 在applicationhost.config中确认这个绑定是否存在

l http.sys中是否包含有效证书的hash值以及命名是否存在

选择证书时,需要考虑以下问题:

是否想让最终用户能够通过你提供的证书确认你服务器的唯一性?

如果是的,则

要么建立一个证书请求,并且发送证书请求到证书权威机构(ca),比如verisign或者geotrust;

要么从intranet的在线ca那里获取一个证书

浏览器一般用三样东西来确认服务器证书的有效性:

1. 当前日期在证书的有效期范围内

2. 证书的“common name”(cn)与请求中的主机名相匹配。比如,如果客户发起了一个到http://www.contoso.com的请求,则cn必须是这样的:http://www.contoso.com/

3. 证书的发行者是已知的和受到信任的ca

如果其中有1项失败,浏览器就会警告用户。如果你有个internet站点或者你不怎么熟的intranet用户,那你就需要确保这3项是都通过的。
 

自签名的证书可以用你自己的计算机创建。如果最终用户不重要,或者他们信任你的服务器,又或者用于测试环境,则这种自签名证书将会非常有用。

使用wmi来绑定ssl证书

使用wmi命名空间,是不能够请求或者创建证书。建立ssl绑定

以下脚本展示了如何建立ssl绑定,以及添加相应信息到http.sys中:

set oiis = getobject("winmgmts:rootwebadministration")
 ''''''''''''''''''''''''''''''''''''''''''''' ' create ssl binding '''''''''''''''''''''''''''''''''''''''''''''  oiis.get("sslbinding").create _     "*", 443, "4dc67e0ca1d9ac7dd4efb3daaeb15d708c9184f8", "my"
''''''''''''''''''''''''''''''''''''''''''''' ' add ssl binding to site '''''''''''''''''''''''''''''''''''''''''''''  
set obinding = oiis.get("bindingelement").spawninstance_ obinding.bindinginformation = "*:443:" obinding.protocol = "https"   
set osite = oiis.get("site.name='default web site'") arrbindings = osite.bindings 
redim preserve arrbindings(ubound(arrbindings) + 1) set arrbindings(ubound(arrbindings)) = obinding 
osite.bindings = arrbindings set opath = osite.put_

注意:证书的hash值和名称必须引用了你服务其上真实且有用的证书。如果其中有一项虚假,就会出现错误。
 

配置ssl设置

以下脚本展示了如何通过iis7的wmi提供程序来设置ssl。

const ssl = 8
set oiis = getobject("winmgmts:rootwebadministration")
set osection = oiis.get( _
   "accesssection.path='machine/webroot/apphost',location='default web site'")
osection.sslflags = osection.sslflags or ssl
osection.put_
 

ø 使用iis管理器来绑定ssl证书

获取一个证书

在树目录中选择服务器节点,在右面双击server certificates图标:

iis 7 ssl https配置方法
iis6(windows2003)下,ssl的所有配置信息都保存在iis元数据中,在用户模式中加密解密(这会耗费很多的内核/用户模式转换)。在iis7中,http.sys在内核模式下操作ssl加密解密,相对于iis6,这种方式能提高近20%的性能。
 

当ssl运行于内核模式时,会将ssl绑定信息保存在两个地方。第一个地方,绑定配置保存在%windir%system32inetsrvconfigapplicationhost.config中,当站点启动时,iis7发送绑定信息给http.sys,同时http.sys会在特定的ip和端口监听请求。第二个地方,与绑定相关联的ssl配置保存在http.sys配置中。使用netsh命令可以查看保存在http.sys的ssl绑定配置:

netsh http show sslcert

当一个客户开始连接并初始化ssl协商时,http.sys在它的配置中查找这个ip:port对应的ssl配置。这个ssl配置必须包括证书hash值和名称:

l 在applicationhost.config中确认这个绑定是否存在

l http.sys中是否包含有效证书的hash值以及命名是否存在

选择证书时,需要考虑以下问题:

是否想让最终用户能够通过你提供的证书确认你服务器的唯一性?

如果是的,则

要么建立一个证书请求,并且发送证书请求到证书权威机构(ca),比如verisign或者geotrust;

要么从intranet的在线ca那里获取一个证书

浏览器一般用三样东西来确认服务器证书的有效性:

1. 当前日期在证书的有效期范围内

2. 证书的“common name”(cn)与请求中的主机名相匹配。比如,如果客户发起了一个到http://www.contoso.com的请求,则cn必须是这样的:http://www.contoso.com/

3. 证书的发行者是已知的和受到信任的ca

如果其中有1项失败,浏览器就会警告用户。如果你有个internet站点或者你不怎么熟的intranet用户,那你就需要确保这3项是都通过的。
 

自签名的证书可以用你自己的计算机创建。如果最终用户不重要,或者他们信任你的服务器,又或者用于测试环境,则这种自签名证书将会非常有用。

使用wmi来绑定ssl证书

使用wmi命名空间,是不能够请求或者创建证书。建立ssl绑定

以下脚本展示了如何建立ssl绑定,以及添加相应信息到http.sys中:

set oiis = getobject("winmgmts:rootwebadministration")
 ''''''''''''''''''''''''''''''''''''''''''''' ' create ssl binding '''''''''''''''''''''''''''''''''''''''''''''  oiis.get("sslbinding").create _     "*", 443, "4dc67e0ca1d9ac7dd4efb3daaeb15d708c9184f8", "my"
''''''''''''''''''''''''''''''''''''''''''''' ' add ssl binding to site '''''''''''''''''''''''''''''''''''''''''''''  
set obinding = oiis.get("bindingelement").spawninstance_ obinding.bindinginformation = "*:443:" obinding.protocol = "https"   
set osite = oiis.get("site.name='default web site'") arrbindings = osite.bindings 
redim preserve arrbindings(ubound(arrbindings) + 1) set arrbindings(ubound(arrbindings)) = obinding 
osite.bindings = arrbindings set opath = osite.put_

注意:证书的hash值和名称必须引用了你服务其上真实且有用的证书。如果其中有一项虚假,就会出现错误。
 

配置ssl设置

以下脚本展示了如何通过iis7的wmi提供程序来设置ssl。

const ssl = 8
set oiis = getobject("winmgmts:rootwebadministration")
set osection = oiis.get( _
   "accesssection.path='machine/webroot/apphost',location='default web site'")
osection.sslflags = osection.sslflags or ssl
osection.put_
 

ø 使用iis管理器来绑定ssl证书

获取一个证书

在树目录中选择服务器节点,在右面双击server certificates图标:

 

在树目录中选择服务器节点,在右面双击server certificates图标:

 

单击create self-signed certificate…按钮:

 

输入新证书的名字后单击ok。

现在你有了一个自签名证书。这个证书被标记为”服务器端验证”

 

建立ssl绑定

选择一个站点,在actions面板中单击bindings…。会显示出添加、修改、删除绑定对话框。单击add…按钮添加新的ssl绑定。

默认设置是80端口,在类型下拉框中选择https,在ssl certificate下拉框中选择你刚才建立的自签名证书名字,单击ok。

 

现在你已经完成ssl绑定的建立工作了,剩下的就是要确认是否工作正常了。

 

 

ø ssl绑定的确认

在actions面板中,在browse web site下,单击刚才增加的绑定

 

 

由于这个证书是个自签名的证书,ie7会显示一个错误页面。

单击continue to this website(not recommended).继续

 

 

ø 配置ssl设置

当你要求用户必须使用证书,又或者必须ssl方式连接时,你需要配置ssl设置。双击ssl settings如下图:

时间: 2024-10-25 15:30:34

iis 7 ssl https配置方法的相关文章

CAS_SSO单点登录实例详细步骤(转)、Tomcat ssl(https) 配置

CAS_SSO单点登录实例详细步骤(转).Tomcat ssl(https) 配置            博客分类: SSO&CAS&Identity Java.Tomcat       0, 从CAS官网下载最新版本的CAS服务器:cas-server-3.5.1-release.zip和java版客户端cas-client-3.2.1-release.zip. 1, 修改hosts文件,添加域名方便演示 127.0.0.1    cas.my.com #对应部署cas server的t

新手学习:让IIS支持PHP的配置方法

iis 这个怎么不可能?事实上网上大量的DZ论坛就是采用PHP+IIS,下面是配置IIS支持PHP的流程: 1.将 PHP 安装为 ISAPI 模式: 在"控制面板"的"管理工具"中选择"Internet 服务管理器",打开 IIS 后停止服务,然后在左侧"默认Web站点"上单击右键选择"属性",在打开的"默认 Web 站点属性"窗口的"ISAPI 筛选器"标签里找到

Nginx的http和https(ssl)共存配置方法

因为公司项目有需要用到https的链接,就去弄了个证书,配置上之后,https可以正常访问,但是之前的http的都是显示400错误,nginx的配置如下:  代码如下 复制代码 server {             listen 80 default backlog=2048;             listen 443;             server_name 111cn.net;             root /var/www/html;             ssl o

IIS 7.0安装配置方法图文教程(win7)_win服务器

今天小编为大家带来一篇Win7系统下IIS7的详细安装配置图文教程,需要的朋友可以看看! Win7系统下IIS7安装方法: 1.通过用户界面安装 1.单击"开始"/"控制面板"/"程序",选择"打开或关闭Windows功能" 2.在Windows 功能对话框中,选中"Internet信息服务" 3.单击"确定",这时Windows Vista就会启动IIS的安装过程; 系统之家提醒您:如

windows+iis服务器基础安全配置方法

1.后门防范基本功 2.安全配置Web服务器 如果公司或企业建立了主页,该如何保证自己的Web服务器的安全性呢? 首先要关闭不必要的服务:其次是建立安全账号策略和安全日志:第三是设置安全的IIS,删除不必要的IIS组件和进行IIS安全配置. 在IIS安全配置时候,要注意修改默认的"Inetpub"目录路径.可以删除C盘的"Inetpub"目录,然后在D盘重建一个"Inetpub",而后在IIS管理器中将主目录指向新建立的"Inetpub

IIS解析json的配置方法汇总_win服务器

IIS6.0 1.打开IIS添加Mime项 关联扩展名: *.json内容类型(MIME):application/x-JavaScript 2.添加映射: 位置在IIS对应站点右键属性:"主目录"-"应用程序设置"-"配置"-"映射"-"添加",会打开"添加/编辑应用程序扩展名映射" 扩展名: .json 运行文件:C:\WINDOWS\system32\inetsrv\asp.dll

IIS+PHP+MYSQL安装配置方法_win服务器

一.安装php 1) 在D盘新建一个名为PHP的文件夹,解压缩php-5.2.0-win32.zip到D:\PHP. 2) 在D:\PHP文件夹下找到php.ini-dist文件,将其复制一份以做备份.将复制后的文件更名为php-ini. 3) 在php.ini文件中找到以下行:extension_dir = "./"(注:该行指定PHP查找扩展的位置),编辑该行,如下所示: extension_dir = "D:/PHP/ext"(注:不要这里用的是斜杠/而不是反

[转载]IIS Express 7.5使用及配置方法

IIS Express7.5     微软Scott Guthrie发布了IIS Express:IIS的一个轻量级替代品,有希望替代Cassini(Visual Studio的内置Web服务器).     给Visual Studio 2010安装完一个补丁后就可以在Visual Studio 2010和Visual Web Developer 2010 Express中使用IIS Express了,之后发布的Visual Studio将会自带IIS Express.     伴随着ASP.n

[原创图解]Win2003证书服务配置/客户端(服务端)证书申请/IIS站点SSL设置

[原创图解]Win2003证书服务配置/客户端(服务端)证书申请/IIS站点SSL设置 --欢迎转载,但转载请注明来自"菩提树下的杨过" 一.CA证书服务器安装   1.安装证书服务之前要先安装IIS服务并且保证"WEB服务扩展"中的"Active Server Pages"为允许状态      2.在"控制面板"中运行"添加或删除程序",切换到"添加/删除Windows组件"页