本文介绍如何在IIS(Internet Information Services)服务器部署SSL证书,具体包括下载以及导入PFX格式的证书文件的方法、为网站绑定证书的参数配置,以及安装证书后的效果验证。
适用范围:本文以 Windows Server 2008 R2 和 Windows Server 2012 R2 操作系统为例进行介绍,Windows Server 2008 R2 以上版本适用。
兼容说明:不同操作系统版本的配置界面可能存在差异,请根据实际情况进行调整。
技术支持:如需协助,请参见专家一对一服务。
前提条件
操作步骤
步骤一:下载SSL证书
登录数字证书管理服务控制台。在左侧导航栏选择 。
在SSL证书管理页面,定位需部署的目标证书,并确认以下信息:
在目标证书操作列单击更多进入证书详情页面,然后在下载页签中下载服务器类型为 IIS 的证书。
解压下载的证书压缩包:
步骤二:在MMC导入SSL证书
登录Windows服务器。
阿里云服务器
以下操作以阿里云云服务器 ECS 为例进行说明,其他类型的服务器请参照对应产品文档进行操作。
登录ECS管理控制台,在页面左侧顶部,选择目标ECS实例所在地域。
在左侧导航栏中选择
,在实例页面找到目标ECS实例,点击操作列的远程连接。在弹出的对话框中,选择通过Workbench远程连接并单击立即登录。
选择终端连接作为连接方式,输入相关认证信息,并根据页面提示完成登录,即可进入服务器终端。详细操作请参考使用Workbench登录ECS实例。
说明若系统弹出“安全组白名单开通提示”面板,请按照页面提示单击一键添加。
其他云厂商服务器
请通过对应云厂商提供的远程连接功能登录服务器终端。
非云厂商服务器(如物理服务器、IDC托管主机等)
请在本地使用登录服务器。
Windows:在系统自带的远程桌面连接应用进行连接。
macOS:可以在软件商店下载Windows App(之前名为Microsoft远程桌面)进行连接。
开放安全组的 443 端口。
重要若您的服务器部署在云平台,请确保其安全组已开放入方向 443 端口 (TCP),否则外部无法访问服务。以下操作以阿里云 ECS 为例,其他云平台请参考其官方文档。
登录ECS管理控制台,在页面左侧顶部,选择目标 ECS 实例所在地域。在实例页面,找到目标 ECS 实例。
单击目标实例名称,进入实例详情页面,单击
,确保存在一条授权策略为允许、协议类型为 TCP、目的端口范围为 HTTPS(443)、授权对象为任何位置(0.0.0.0/0)的规则。如不存在此规则,请进行添加。
开放服务器防火墙的443端口。
登录Windows服务器,单击左下角开始菜单,打开控制面板。
点击
。如果防火墙处于如下图的关闭状态,无需额外操作。
如果防火墙已开启,需放行HTTPS规则。
上传证书文件到服务器,以下三种方式任选其一即可。
Workbench上传文件
在前面步骤打开的 Workbench 页面中,单击左下角开始菜单,查找并打开名为此电脑、计算机或文件资源管理器的选项。
双击 xxx上的workbench。
从本地拖动之前步骤下载的zip文件至该目录,并右键刷新文件夹。
然后将目标文件从该目录拖动到 C 盘或者其他盘。
重要重新连接、退出实例时,Workbench会自动清除该实例重定向的驱动程序和文件夹中已上传的所有文件信息以节省空间,该目录仅用于文件传输,请不要保存文件。
远程连接工具上传文件
在使用远程桌面连接或Windows App连接实例时,可以直接将下载的证书文件使用远程桌面或Windows APP向Windows实例传输文件。
上传至服务器,具体操作,请参见在服务器上下载证书文件
如果您的服务器可以访问公网并登录阿里云控制台,则可以直接在服务器上登录数字证书管理服务控制台进行步骤一的下载。
单击左下角开始菜单,搜索并打开运行对话框,输入
mmc
,单击确定。在MMC控制台,添加证书管理单元。
在控制台的顶部菜单栏,选择
。在添加或删除管理单元对话框,从左侧可用的管理单元列表中选择证书,单击添加。
在证书管理单元对话框,选择计算机账户,单击下一步。
在选择计算机对话框,选择本地计算机(运行此控制台的计算机),单击完成。
在添加或删除管理单元对话框,单击确定。
在控制台左侧导航栏,展开
,然后将光标放置在个人并单击鼠标右键,选择 。根据对话框提示,完成证书导入向导。
欢迎使用证书导入向导:单击下一步。
要导入的文件对话框:单击浏览,打开PFX格式的证书文件,单击下一步。
在打开文件时,您必须先将文件类型设置为所有文件(*),然后再选择证书文件。
为私钥键入密码:打开TXT格式的私钥文件,复制文件内容,并将内容粘贴在密码文本框,单击下一步。
证书存储:选中根据证书类型,自动选择证书存储,单击下一步。
正在完成证书导入向导:单击完成。
收到导入成功提示后,单击确定。
步骤三:在IIS管理器为网站绑定SSL证书
添加网站绑定。请根据服务器操作系统的版本选择相应的操作步骤。
Windows Server 2012 R2 及以上版本
单击
开始图标,然后单击 。
说明若没有安装IIS管理器,安装方式请参见Windows 2012 R2 自建安装IIS 8.5服务。
若已安装 IIS管理器但此处不存在,请参见如何解决Windows缺少IIS管理器的问题。
在左侧连接区域,展开服务器,单击网站,在网站列表单击对应的网站,在右侧操作区域,单击绑定。
在网站绑定对话框,单击添加。
在添加网站绑定对话框,完成网站的相关配置,并单击确定。请根据以下两种业务场景进行选择。
为单个网站配置证书:仅需为 IIS 服务器上的一个网站配置证书,或多个网站配置同一个证书。
为多个网站配置证书:需为IIS 服务器上的多个网站配置证书,且每个网站使用不同的证书。
类型:选择https。
IP地址:选择服务器的IP地址。当网站部署在本服务器上且本服务器不存在多个IP地址的情况时,保持全部未分配即可。
端口:默认为443,无需修改。
说明建议端口设置为 443。若设置为非 443 端口,则通过浏览器访问网站时,必须在网站域名后添加端口号(例如:
https://domain.com:8443
)。主机名:填写需开启HTTPS的域名,例如:
domain.com
。需要服务器名称指示:无需勾选。
说明勾选后将出现警报:尚未创建默认SSL站点。若要支持不带SNI功能的浏览器,建议创建一个默认SSL站点。消除该警报需进行额外配置,具体操作请参见为多个网站配置证书。
SSL证书:选择已导入的证书。
在网站绑定对话框,单击关闭。
设置TLS策略(可选)。
下载 IIS Crypto 工具至服务器,选择IIS Crypto GUI:https://www.nartac.com/Products/IISCrypto/Download
在服务器上双击运行下载的文件,在Schannel主页点击Best Practices最佳实践,在弹出的对话框单击确定,单击Apply应用,然后重启服务器实例。
为单个网站配置证书
为多个网站配置证书
Windows Server 2008 R2
单击开始菜单,单击
。说明若没有安装IIS管理器,安装方式请参见Windows Server 2008 R2自建安装IIS服务
若已安装 IIS管理器但无法找到,请参见如何解决Windows缺少IIS管理器的问题。
在左侧连接区域,展开服务器,单击网站,在网站列表单击对应的网站,在右侧操作区域,单击绑定。
在网站绑定对话框,单击添加。
在添加网站绑定对话框,完成网站的相关配置,并单击确定。请根据以下两种业务场景进行选择。
为单个网站配置证书:只需要为 IIS 服务器上的一个网站配置证书,或多个网站配置同一个证书。
为多个网站配置证书:需要为IIS 服务器上的多个网站配置证书,且每个网站使用不同的证书。
类型:选择https。
IP地址:选择服务器的IP地址。当网站部署在本服务器上且本服务器不存在多个IP地址的情况时,保持全部未分配即可。
端口:默认为443,无需修改。
说明建议端口设置为 443。若设置为非 443 端口,则通过浏览器访问网站时,必须在网站域名后添加端口号(例如:
https://domain.com:8443
)。SSL证书:选择已导入的证书。
创建辅助弹性网卡,并绑定在IIS服务器ECS实例上,具体操作请参见创建并使用弹性网卡。
创建EIP,并将EIP绑定至辅助弹性网卡。公网IP地址与私网IP地址对应关系如下。
在DNS服务商处修改DNS解析,将不同的IIS网站记录值修改为ECS实例上绑定的不同的公网IP地址。此示例中需要为
example1.com
配置记录值为106.xx.xx.198
,为example2.com
配置记录值为101.xx.xx.50
。在IIS管理器中分别为网站进行如下配置:
类型:选择https。
IP地址:为每个网站填写其对应的服务器私网IP地址。此示例中web01对应
192.168.1.211
,web02对应192.168.1.212
。端口:默认为443,无需修改。
SSL证书:为每个网站填写其对应的已导入的证书。
完成配置后,您可以在网站绑定列表查看已添加的https类型网站绑定。
说明部分Windows Server 2008可能会出现报错“证书链中的一个或多个中间证书丢失”,解决方法请参见常见问题。
在网站绑定对话框,单击关闭。
设置TLS策略。
对于Windows Server 2008,默认的TLS配置可能不被现代浏览器、App或小程序信任。若配置完成后访问网站出现:“ERR_SSL_VERSION_OR_CIPHER_MISMATCH”、“使用了不受支持的协议”等错误。请参照以下步骤设置TLS策略:
下载IIS Crypto工具至服务器,选择IIS Crypto GUI:https://www.nartac.com/Products/IISCrypto/Deprecated
在服务器上双击运行下载的文件,在Schannel主页点击Best Practices最佳实践,在弹出的对话框单击确定,单击Apply应用,弹出需要重启的提示框,然后重启服务器实例。
为单个网站配置证书
为多个网站配置证书
Windows Server 2008 不支持 SNI,每个启用 HTTPS 的网站必须配置独立 IP 地址,且每个 IP 地址需与每张证书一一对应。
重要若多个网站共用一个IP和端口(例如:80),使用此方式配置需修改DNS解析,网站访问的入口IP 将由单个变为多个,可能影响业务。建议您充分评估影响后再进行配置。
IIS网站
SSL 证书
IP地址
ECS 实例的公网IP
Web01
example1.com 的证书
192.168.1.211
106.xx.xx.198
Web02
example2.com 的证书
192.168.1.212
101.xx.xx.50
可选:设置HTTP请求自动跳转到HTTPS。
在Internet Information Services (IIS) 管理器,左侧连接区域,展开服务器,单击网站,选择要配置跳转的网站,在网站主页查找是否有URL重写模块。若不存在则需要访问https://www.iis.net/downloads/microsoft/url-rewrite,根据系统类型选择对应链接进行下载安装,安装完成后,需关闭IIS管理器窗口并重新开启,以使其生效。
双击URL重写,在右侧操作列,点击添加规则。
在添加规则对话框,选择入站规则>空白规则,点击确定。
在编辑入站规则对话框,完成以下配置。下表中其他未提及参数保持默认即可。
参数
配置内容
名称
自定义填写规则的名称
匹配URL
请求的URL
选择与模式匹配
使用
选择正则表达式
模式
填写
(.*)
忽略大小写
勾选
条件
逻辑分组
选择全部匹配
条件(添加一个条件)
条件输入
填写
{HTTPS}
检查输入字符串是否
选择与模式匹配
模式
填写
^OFF$
忽略大小写
勾选
操作
操作类型
选择重定向
重定向URL
填写
https://{HTTP_HOST}/{R:1}
附加查询字符串
勾选
重定向类型
选择已找到(302)或永久(301)
点击右侧操作的应用。
返回Internet Information Services (IIS) 管理器,在左侧连接区域,点击服务器并重新启动IIS管理器。完成配置,测试HTTP的访问请求都自动跳转至HTTPS。
步骤四:验证SSL证书是否安装成功
请通过 HTTPS 访问您已绑定证书的域名(如
https://yourdomain.com
,yourdomain.com
需替换为实际域名)。若浏览器地址栏显示安全锁图标,说明证书已成功部署。如访问异常或未显示安全锁,请先清除浏览器缓存或使用无痕(隐私)模式重试。
说明Chrome 浏览器自 117 版本起,地址栏中的
已被新的
替代,需单击该图标后查看安全锁信息。
如仍有问题,请参考常见问题进行排查。
后续步骤(可选)
开启域名监控
建议在证书部署完成后,为域名开启域名监控功能。系统将自动检测证书有效期,并在到期前发送提醒,帮助您及时续期,避免服务中断。具体操作请参见购买并开启公网域名监控。
常见问题
安装或更新证书后,证书未生效或 HTTPS 无法访问
常见原因如下:
域名未完成备案。请参见如何查看域名解析记录以及 ICP 备案信息。
服务器安全组或防火墙未开放 443 端口。请参见开放安全组的 443 端口与开放服务器防火墙的443端口。
证书的绑定域名未包含当前访问的域名。请参见如何判断绑定域名是否已匹配所有需保护的域名。
证书未正确替换。请检查所用证书文件是否为最新且有效。
域名已接入 CDN、SLB 或 WAF 等云产品,但未在相应产品中安装证书。请参阅云产品部署证书完成相关操作。
当前域名的 DNS 解析指向多台服务器,但证书仅在部分服务器上安装。需分别在每个服务器中安装证书。
如需进一步排查,请参考:根据浏览器错误提示解决证书部署问题 和 SSL证书部署故障自助排查指南。
Windows Server 2008 R2 提示"证书链中的一个或多个中间证书丢失。要解决此问题,请确保安装了所有中间证书。"
由于Windows Server 2008 R2 系统版本较老,服务器证书库中可能缺少相应的根证书或中间证书,因此无法验证证书是否有效。请查看SSL证书信息确认根证书版本后,前往下载根证书,手动上传根证书至服务器,双击根证书文件完成安装即可。
如何更新(替换)IIS 中已安装的 SSL 证书
先将新证书导入MMC。然后在IIS管理器中编辑步骤三中的站点绑定,将SSL证书替换为新证书。替换完成后,清除浏览器缓存或使用无痕(隐私)模式访问您的网站,点击下图位置查看证书详情,验证是否更新成功。