文档中心
IIS6閰嶇疆SSL澶氬煙鍚嶈瘉涔﹀叏鏀荤暐鐪侀挶鍙堝畨鍏ㄧ殑HTTPS瑙e喅鏂规
时间 : 2025-09-27 16:18:24浏览量 : 3
一、什么是多域名证书?为什么IIS6用户需要它?

想象你经营一家电商公司,有三个网站:
- 主站 `www.yourstore.com`
- 会员中心 `member.yourstore.com`
- 支付网关 `pay.yourstore.com`
传统做法是为每个域名单独购买SSL证书(每年约¥500/张),三个网站每年要花¥1500。而多域名证书(SAN证书)就像"打包套餐",一张证书可保护多个域名,价格可能只要¥800/年,直接省下近50%成本!
在IIS6这种老系统中配置尤其有价值:
1. 管理简单:只需维护一个证书文件
2. 兼容性强:避免老旧系统对新证书链的兼容问题
3. 运维省心:到期续费只需处理一个证书
> ?? 真实案例:某外贸企业有5个子站点,改用多域名证书后,不仅HTTPS配置时间从2天缩短到2小时,每年SSL支出从¥2500降至¥1200。
二、手把手教你在IIS6安装多域名证书
步骤1:生成CSR请求文件(关键!)
错误示范?:直接用IIS6的"目录安全性"生成CSR,这样只能绑定单个域名。
正确做法?:
1. 下载OpenSSL工具(推荐用[这个Windows版](https://slproweb.com/products/Win32OpenSSL.html))
2. 执行以下命令生成包含多个域名的CSR:
```bash
openssl req -new -newkey rsa:2048 -nodes -keyout yourdomain.key -out yourdomain.csr -config openssl.cnf
```
3. 在openssl.cnf配置文件中添加:
```ini
[ req ]
req_extensions = v3_req
[ v3_req ]
subjectAltName = @alt_names
[ alt_names ]
DNS.1 = www.yourstore.com
DNS.2 = member.yourstore.com
DNS.3 = pay.yourstore.com
步骤2:在CA平台申请证书
将生成的CSR提交给证书商(如DigiCert/Sectigo),他们会验证你对域名的控制权。通过后你会获得:
- `.crt`文件(主证书)
- `.ca-bundle`文件(中间证书)
步骤3:IIS6导入组合证书
常见坑点??:直接导入.crt文件会导致浏览器提示"证书链不完整"
正确操作??:
1. 用记事本打开`.crt`和`.ca-bundle`,按顺序合并成`.pfx`:
```
--BEGIN CERTIFICATE--
(你的主证书内容)
--END CERTIFICATE--
(中间CA证书内容)
2. 使用OpenSSL转换为PFX格式:
```bash
openssl pkcs12 -export -out server.pfx -inkey yourdomain.key -in merged.crt
3. 在IIS6管理器中:"Web站点属性"→"目录安全性"→"服务器证书",选择刚生成的PFX文件
三、必须检查的5个安全配置项
即使安装了多域名SSL,这些疏漏仍可能导致安全风险:
1?? 强制HTTPS跳转(关键!)
在`C:\Inetpub\wwwroot`下创建`web.config`加入规则:
```xml
2?? 关闭弱加密算法
运行以下命令禁用不安全的协议:
reg add "HKLM\SYSTEM\CurrentControlSet\Control\SecurityProviders\SCHANNEL\Protocols\PCT 1.0\Server" /v Enabled /t REG_DWORD /d 0 /f
reg add "HKLM\SYSTEM\CurrentControlSet\Control\SecurityProviders\SCHANNEL\Protocols\SSL 2.0\Server" /v Enabled /t REG_DWORD /d 0 /f
3?? HSTS头配置(防降级攻击)
在HTTP头中加入:
Strict-Transport-Security: max-age=31536000; includeSubDomains; preload
4?? OCSP装订优化性能
通过组策略启用:"计算机配置→管理模板→网络→SSL配置设置",勾选"启用OCSP装订"
5?? SNI扩展支持检查
虽然IIS6原生不支持SNI,但可以通过反向代理(如Nginx)实现。测试命令:
openssl s_client -connect yourdomain.com:443 -servername member.yourdomain.com | grep "Certificate chain"
四、疑难问题排错指南
? Chrome报错ERR_SSL_VERSION_OR_CIPHER_MISMATCH
可能原因:客户端只支持TLS1.2而服务器未启用
解决方案:运行注册表补丁启用TLS1.2:[微软官方修复工具](https://support.microsoft.com/zh-cn/topic/update-to-enable-tls-1-1-and-tls-1-2-as-default-secure-protocols-in-winhttp-in-windows-c4bd73d2-31d7-761e-0178-11268bb10392)
? Firefox显示SEC_ERROR_UNKNOWN_ISSUER
排查步骤:
1. `openssl s_client -showcerts -connect yourdomain.com:443 > certchain.txt`
2.检查是否缺少中间CA证书
? IE6用户无法访问(特殊场景)
临时方案(不推荐):在注册表启用RC4加密算法(仅限内网环境使用)
?? 终极建议:如果业务允许,建议将系统升级到新版Windows Server+IIS。微软已于2025年停止对IIS6的安全更新,继续使用存在较大风险。对于必须使用老旧系统的场景,建议在前端部署WAF或反向代理提供额外保护层。
TAG:iis6 ssl 多域名证书,ssl证书 子域名,ssl证书多个域名,域名申请ssl证书,ssl证书域名解析