IIS 10.0启用TLS/SSL后停止站点仍保持WebSocket连接问题
问题描述
我在Windows Server 2019 Standard上运行IIS 10.0,部署了基于ASP.NET Framework 4.7.2的简单应用,包含长连接WebSocket和SignalR。
- 使用非安全套接字时,停止站点后套接字会正常关闭,运行正常。
- 启用安全套接字连接(TLS/SSL)后,只要套接字处于打开状态,工作进程就会挂起,客户端仍能与服务器收发响应,仅能通过客户端重启连接解决。
- 直接WebSocket或SignalR均会触发该问题:尝试停止站点后,应用仍通过安全套接字收发消息;套接字关闭后,工作进程才会按预期终止。
- 存在一个未获回复的类似问题:服务器在IIS站点停止后仍向客户端发送ping消息。
- 连接不会在应用池超时(90秒)后断开。
- 活动连接截图:

更新:
更换端口但仍使用安全连接时,问题消失。停止站点后连接断开,工作进程按预期终止,看来该问题与443端口相关。
疑问
请问该问题成因是什么?如何确保IIS收到停止/回收请求时断开这些连接?
问题分析与解决方案
可能成因
- 443端口的TLS会话复用机制:IIS默认对443端口启用TLS会话复用(依托HTTP.sys的系统级连接池),站点停止时,HTTP.sys不会主动中断已建立的TLS长连接——这些连接属于系统连接池,不受站点进程单独管控。而非443端口的TLS连接可能未启用该复用机制,或系统对非标准端口的连接池处理逻辑不同。
- HTTP.sys与IIS进程交互缺陷:站点停止时,IIS向HTTP.sys发送停止路由请求,但HTTP.sys未正确终止关联的TLS长连接,导致请求仍会转发给已标记停止的工作进程,让进程无法正常退出。
- ASP.NET Framework 4.7.2长连接清理疏漏:该版本对TLS环境下的WebSocket/SignalR连接,在站点停止时的资源清理逻辑存在不足,未主动触发连接关闭,依赖客户端超时或主动断开,而HTTP.sys的连接复用又延长了连接存活时间。
解决方案
1. 禁用443端口的TLS会话复用
通过注册表修改关闭HTTP.sys的TLS会话复用:
- 打开注册表编辑器,定位到
HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\HTTP\Parameters - 新建
DWORD类型项EnableSslSessionTicket,设置值为0 - 重启HTTP服务(命令行执行
net stop http && net start http,注意此操作会中断所有依赖HTTP.sys的服务)
2. 配置IIS站点连接终止策略
- 在IIS管理器中进入站点高级设置,将连接超时设为较短时间(如30秒),但此设置仅影响新连接,对已建立的长连接无效。
- 使用
appcmd命令配置站点回收规则,强制停止时终止连接:appcmd set site "你的站点名称" /limits.connectionTimeout:00:00:30 /applicationDefaults.recycling.periodicRestart.time:00:00:00
3. 应用代码中主动处理站点停止事件
在ASP.NET应用的Global.asax中注册Application_End事件,主动关闭所有长连接:
protected void Application_End(object sender, EventArgs e) { // 关闭所有SignalR连接 GlobalHost.ConnectionManager.GetHubContext<YourHub>().Clients.All.disconnect(); // 关闭原生WebSocket连接(需自行维护已连接实例集合) foreach (var ws in WebSocketConnections) { ws.CloseAsync(WebSocketCloseStatus.NormalClosure, "Server shutting down", CancellationToken.None).Wait(); } }
4. 强制回收应用池
- 在应用池回收设置中,勾选回收工作进程(在请求时),站点停止时IIS会强制终止工作进程,但可能无优雅断开提示。
- 命令行执行强制回收:
appcmd recycle apppool "你的应用池名称"
5. 升级ASP.NET Framework版本
升级到ASP.NET Framework 4.8及以上版本,微软在后续版本中修复了部分TLS环境下长连接的资源清理问题,可能解决此故障。
内容的提问来源于stack exchange,提问作者GmodCake
相关产品推荐
相关产品推荐

