如何在IIS上安装SSL证书
要在IIS上安装SSL证书,请打开IIS管理器,进入Server Certificates,通过Complete Certificate Request选项上传您的.crt文件。然后右键单击您的网站,选择Edit Bindings > Add,在端口443上创建HTTPS绑定。从创建CSR到验证安装,整个过程在大多数Windows Server环境中大约需要15分钟。本指南通过截图逐步说明每个步骤,并完整涵盖最常见的错误以及HTTP到HTTPS的重定向配置。
在IIS上安装SSL之前需要准备的内容
在打开IIS管理器之前,请确保以下内容已全部准备就绪。如果缺少任何一项,您可能会在安装过程中途卡住。
| 要求 | 说明 |
|---|---|
| 访问IIS管理器 | Internet Information Services管理器必须已安装并在Windows Server上运行。 |
| 管理员权限 | 您需要服务器上的本地管理员或域管理员权限才能安装证书。标准用户账户无法安装证书。 |
| CSR(证书签名请求) | 在第2步通过IIS管理器创建。CSR同时生成私钥——两者都必须保留在同一台服务器上。 |
| SSL证书文件(.crt) | 由CA(证书颁发机构)在完成域名验证后颁发。 |
| CA Bundle / 中间证书 | 由CA随证书一起提供。完整信任链必不可少——请勿跳过此项。 |
| 私钥 | 在IIS中创建CSR时自动生成。保留在服务器上,无法作为单独文件下载。 |
⚠️ 如果您在其他服务器上创建了CSR,则无法使用Complete Certificate Request方法。请改为从原始服务器导出.pfx文件(证书+私钥合并),然后在IIS中使用"Import"选项。
第1步 — 选择合适的SSL证书
SSL证书并非一种适合所有情况的解决方案。您需要的类型取决于要保护的域名数量以及用户期望的身份验证级别。
| 类型 | 验证内容 | 适用对象 | 示例 |
|---|---|---|---|
| DV SSL | 仅验证域名所有权 | 博客、个人网站、小型企业 | www.example.com |
| OV SSL | 域名 + 组织身份 | 企业网站、SaaS平台 | 企业官方网站 |
| EV SSL | 企业扩展验证 | 电商、金融——最高信任级别 | checkout.example.com |
| Wildcard SSL | 域名 + 所有一级子域名 | 托管服务商、多子域名结构 | *.example.com |
对于托管服务商和域名经销商而言,Wildcard SSL通常是最实用的选择——一张证书覆盖所有子域名,无需逐一单独续期。
第2步 — 打开IIS管理器
在Windows Server上按 Win + R,输入inetmgr并按Enter。您也可以在开始菜单中搜索"IIS",然后选择 Internet Information Services (IIS) Manager。

ℹ️ 找不到IIS管理器?请按照以下路径操作:服务器管理器 → 添加角色和功能 → Web服务器(IIS)。在Windows桌面版本上:控制面板 → 程序 → 启用或关闭Windows功能 → Internet Information Services。
第3步 — 打开Server Certificates
在IIS管理器的左侧面板中,单击您的服务器名称。在中央主面板中找到"Server Certificates"图标并双击它。

第4步 — 创建CSR并上传证书文件
如果您还没有创建CSR,请在上传证书文件之前完成此步骤。
如何创建CSR
- 在Actions面板中单击"Create Certificate Request…"。
- 填写Distinguished Name字段——Common Name必须与您要保护的域名完全匹配。
- 将密钥长度设置为2048(最低)或4096以获得更强的加密。
- 保存.txt文件——您需要将其内容粘贴到CA的申请表单中。
CA颁发证书后,请返回此步骤继续操作。
安装证书 — Complete Certificate Request
在Actions面板中单击"Complete Certificate Request…"以打开安装向导。

⚠️ 是否在其他服务器上创建了CSR?在这种情况下,Complete Certificate Request将无法使用。请从原始服务器导出.pfx文件(PKCS#12)——包含私钥,然后在Server Certificates下的Actions面板中使用"Import"选项。
如果您正在从cPanel、Plesk或Linux服务器迁移到IIS:无法将现有证书直接导入IIS。请先使用OpenSSL命令或在线PEM→PFX转换器将证书转换为.pfx(PKCS#12)格式,然后在IIS中使用Server Certificates → Import。OpenSSL命令为:
openssl pkcs12 -export -out zhengshu.pfx -inkey siyao.key -in zhengshu.crt -certfile cabundle.crt
第5步 — 选择证书文件并输入Friendly Name
"Specify Certificate Authority Response"窗口将打开。按如下方式填写三个字段:
| 字段 | 填写内容 |
|---|---|
| File name (.cer) | 通过"…"按钮选择您的.crt文件。IIS同时接受.crt和.cer扩展名。 |
| Friendly name | 一个您能认出的简短标签——例如example.com-2025。您将在第6步再次选择此名称。 |
| Certificate store | 选择"Personal"。如果之后证书未显示,请尝试"Web Hosting"。 |

填写完所有字段后,单击"OK"。证书现已上传到服务器。它尚未提供HTTPS流量——这将在下一步完成。
第6步 — 在端口443上创建HTTPS绑定
证书已安装,但IIS还不知道哪个网站应该使用它。您需要创建一个将端口443与您的网站和证书连接起来的绑定。
在左侧面板中右键单击您的网站,然后单击"Edit Bindings…"。在Site Bindings窗口中单击"Add"。

| 字段 | 值 / 说明 |
|---|---|
| Type | https |
| IP Address | All Unassigned——或分配给您服务器的特定IP(如适用) |
| Port | 443 |
| Hostname | 按证书中显示的格式输入域名(例如www.example.com) |
| SNI | 如果多个网站共用此IP地址,请勾选"Require Server Name Indication" |
| SSL Certificate | 选择您在第5步输入的Friendly Name |

单击"OK"保存。您的网站现在可通过HTTPS访问。
什么是SNI,何时应该启用它?
SNI(Server Name Indication,服务器名称指示)是一种TLS扩展,允许单个IP地址提供多个SSL证书——每个主机名对应一个证书。没有SNI,无论主机名如何,IIS每个IP地址只能提供一个证书。
在以下情况下启用SNI:(a)您在一个服务器IP上托管多个HTTPS网站,或(b)您的服务器位于共享负载均衡器后面。IIS 7.5及更早版本不支持SNI——每个域名需要单独的IP。IIS 8及更高版本原生支持SNI。
第7步 — HTTP到HTTPS的重定向
添加HTTPS绑定不会自动重定向http://流量。如果没有重定向,部分访客——以及搜索引擎爬虫——仍会访问您网站的未加密版本。
使用IIS URL Rewrite模块进行重定向(推荐)
- 从Microsoft下载并安装URL Rewrite模块(免费,通过Web Platform Installer或直接下载)。
- 在IIS管理器中选择您的网站,双击"URL Rewrite"。
- 选择"Add Rule(s)" → "Blank Rule"。将规则命名为"HTTP to HTTPS"。
- Match URL:Pattern = .*
- 添加条件:{HTTPS}匹配模式"^OFF$"。
- 操作:重定向到https://{HTTP_HOST}/{R:0},重定向类型:永久(301)。
这对SEO和用户信任的重要性:Google自2014年起将HTTPS作为排名信号。具体而言,Chrome和Edge将所有HTTP页面标记为"不安全"——这会削弱用户信任并提高跳出率;两者都是间接的负面SEO因素。301重定向还将链接权重从HTTP URL转移到HTTPS版本。
第8步 — 验证SSL安装
不要假设一切正常——请验证。在认为安装完成之前,请执行以下三项检查:
- 浏览器中的锁形图标:在Chrome或Edge中打开https://www.example.com。地址栏中的锁形图标确认HTTPS处于活动状态。
- SSL Checker:使用在线SSL检查工具验证证书链、有效期和颁发机构。
- SSL Labs测试:访问ssllabs.com/ssltest并输入您的域名。目标是A或A+评级——较低的评级通常表示存在需要修复的配置问题。
✅ 没有锁形图标?最常见的原因是证书链不完整——中间证书(CA Bundle)未安装。通过certlm.msc使用MMC将其安装到IIS证书存储中,然后重新启动IIS。
