在Windows Server的IIS(Internet Information Services)上部署SSL证书,可以让网站启用HTTPS加密访问。以下是详细步骤:
一、准备工作
-
获取SSL证书
-
从证书颁发机构(CA)购买或申请免费证书(如Let’s Encrypt)。
-
证书文件通常包括:
-
.cer
或.crt
(证书文件) -
.key
或.pfx
(私钥文件,部分CA提供)
-
-
-
确认IIS已安装
-
打开 服务器管理器 → 添加角色和功能 → 确保勾选 IIS 和 SSL支持。
-
-
开放防火墙端口
-
确保防火墙允许
443
(HTTPS)端口入站流量。
-
二、证书安装步骤
1. 导入证书到服务器
-
方法1:通过
.pfx
文件导入(推荐)-
双击
.pfx
文件 → 选择 本地计算机 → 输入私钥密码。 -
证书将自动存入 “个人” 证书存储区。
-
-
方法2:手动导入
.cer
和.key
-
打开 IIS管理器 → 点击服务器名称 → 进入 “服务器证书”。
-
选择 “导入” → 上传
.cer
和.key
文件。
-
2. 绑定证书到网站
-
在IIS管理器中:
-
展开 站点 → 右键目标网站 → 选择 “编辑绑定”。
-
-
添加HTTPS绑定:
-
类型:
https
-
IP地址:
全部未分配
或 指定服务器IP -
端口:
443
-
SSL证书:选择已导入的证书
-
勾选 “需要SNI”(如果支持多域名证书)
-
-
点击 “确定” 完成绑定。
3. 强制HTTP跳转HTTPS(可选)
-
安装 URL重写模块(可通过Web Platform Installer添加)。
-
在网站根目录下配置
web.config
,添加规则:<rule name="HTTP to HTTPS" stopProcessing="true"> <match url="(.*)" /> <conditions> <add input="{HTTPS}" pattern="^OFF$" /> </conditions> <action type="Redirect" url="https://{HTTP_HOST}/{R:1}" redirectType="Permanent" /> </rule>
三、验证SSL证书是否生效
-
浏览器测试
-
访问
https://你的域名
,确认地址栏显示 锁图标。 -
点击锁图标 → “证书” → 检查颁发机构和有效期。
-
-
在线工具检测
-
使用 SSL Labs 测试证书配置安全性。
-
-
命令行验证
Test-NetConnection -ComputerName 你的域名 -Port 443
如果显示
TcpTestSucceeded: True
,说明443端口畅通。
四、常见问题解决
1. 证书不受信任
-
原因:未安装中间证书。
-
解决:
-
从CA获取中间证书(通常为
.crt
文件)。 -
在IIS的 “服务器证书” 中导入到 “中间证书机构” 存储区。
-
2. 绑定证书时下拉菜单为空
-
原因:证书未正确导入或私钥丢失。
-
解决:
-
重新导入
.pfx
文件(确保包含私钥)。 -
使用
certmgr.msc
检查证书是否在 “个人” 存储区。
-
3. HTTPS访问报错“ERR_SSL_PROTOCOL_ERROR”
-
原因:证书绑定冲突或端口未开放。
-
解决:
-
检查IIS中是否有其他网站占用了443端口。
-
确认防火墙允许443端口。
-
五、证书续期与管理
-
到期前续期:
-
从CA获取新证书后,重复导入和绑定步骤。
-
-
多域名证书:
-
在绑定证书时勾选 SNI,支持多个HTTPS站点共享同一IP。
-
-
证书备份:
-
导出
.pfx
文件(含私钥),存储在安全位置。
-
总结
-
获取证书 → 2. 导入IIS → 3. 绑定到网站 → 4. 验证生效
-
使用
.pfx
文件可简化流程,避免私钥丢失问题。 -
强制HTTPS可提升安全性,但需配置URL重写规则。
按照以上步骤操作,即可在IIS上成功部署SSL证书,确保网站数据加密传输。