Windows Server 2016 IIS10自签名证书SSL超时问题排查求助
问题:IIS 10 SSL访问超时排查(Windows Server 2016)
在Windows Server 2016的IIS 10中为网站部署了自签名证书,已完成证书绑定,且将SSL设置配置为“Accept”客户端证书。目前非SSL方式访问网站正常,但SSL方式访问会超时,需要排查方案。
SSL测试详情
- BINDING: http *:80:website.com
- BINDING: https *:443:website.com
- SSLCertHash: hashcode
- SSL Flags: None
- 测试端点: 127.0.0.1
- CertName: CertificateName
- 版本: 3
- 该证书存在对应的私钥
- 签名算法: sha256RSA
- 密钥交换算法: RSA,密钥长度: 2048
此证书非ECC证书,因此无法使用ECDSA密码套件
- 主体: CN=servername
- 颁发者: CN=servername
- 有效期: 从2022年9月23日 12:42:28 至2023年9月22日 20:00:00
- 序列号: 39eifjvif934ier93ie93id93ie93ie92i
- DS Mapper Usage: 已禁用
- 已归档: 否
- 密钥用法: DataEncipherment、KeyEncipherment
- 增强型密钥用法: 服务器身份验证(九位数字)
现代浏览器要求存在Subject Alternative Name(SAN)扩展,此证书无该扩展,可能触发警告或错误
- 证书验证通过
排查方法
- 检查443端口占用:打开命令提示符,执行
netstat -ano | findstr ":443",确认端口是否被其他进程占用。若有冲突,终止占用进程或修改网站SSL绑定端口。 - 验证防火墙规则:确保Windows防火墙及第三方防火墙允许443端口的入站、出站流量。可临时关闭防火墙测试,若恢复正常则需添加对应放行规则。
- 检查IIS SSL配置:
- 确认证书私钥权限:打开证书管理器,右键目标证书→「所有任务」→「管理私钥」,确保IIS应用池对应的账户拥有读取权限。
- 临时调整客户端证书设置:将SSL设置改为「忽略」,测试是否仍超时,排除客户端证书握手环节导致的阻塞。
- 本地SSL连接测试:在服务器本地用浏览器访问
https://localhost或执行curl -v https://127.0.0.1,判断问题出在网络层面还是站点配置。 - 重新生成兼容证书:因当前证书缺少SAN扩展,可能被现代浏览器拦截,重新生成包含SAN扩展的自签名证书后测试。
- 查看日志定位错误:检查IIS SSL日志(默认路径
C:\inetpub\logs\LogFiles)和Windows事件查看器的「应用程序」「系统」日志,提取SSL握手或超时的具体错误信息。
内容的提问来源于stack exchange,提问作者Dave
相关产品推荐
相关产品推荐

