You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

FastAPI(Uvicorn)TLS连接在Client Hello后异常断开求助

Uvicorn TLS连接排查问题

我搭建了一个基于FastAPI的HTTPS服务器,启动命令如下:

uvicorn main:app --reload --ssl-keyfile=./certs/app-key.pem --ssl-certfile=./certs/full.chain.pem --port 9063 --host 192.168.2.201 --ssl-version=2

Postman可以正常通过https://192.168.2.201:9063访问服务,但某网络设备(调用相同API)无法建立TLS连接,该设备已正确配置信任CA证书。

已完成的排查:

  • 网络设备成功与192.168.2.201:9063建立TCP连接
  • 设备发送的TLS Client Hello中,TLS信封版本为1.0,内部Client Hello版本为1.2
  • FastAPI应用回复空ACK后发送FIN断开连接

推测Uvicorn不认可该TLS协商的版本或密码套件,用nmap扫描发现Uvicorn仅支持TLS 1.2和1.3:

michal@certs % nmap --script ssl-enum-ciphers -p 9063 192.168.2.201
Starting Nmap 7.93 ( https://nmap.org ) at 2022-12-27 12:27 CET
Nmap scan report for ise.example.com (192.168.2.201)
Host is up (0.00024s latency).

PORT    STATE SERVICE
443/tcp open  https
| ssl-enum-ciphers: 
|   TLSv1.2: 
|     ciphers: 
|       TLS_ECDHE_RSA_WITH_AES_256_CBC_SHA (ecdh_x25519) - A
|       TLS_ECDHE_RSA_WITH_AES_128_CBC_SHA (ecdh_x25519) - A
|     compressors: 
|       NULL
|     cipher preference: server
|   TLSv1.3: 
|     ciphers: 
|       TLS_AKE_WITH_AES_256_GCM_SHA384 (ecdh_x25519) - A
|       TLS_AKE_WITH_CHACHA20_POLY1305_SHA256 (ecdh_x25519) - A
|       TLS_AKE_WITH_AES_128_GCM_SHA256 (ecdh_x25519) - A
|     cipher preference: server
|_  least strength: A

尝试过的操作:

  • 指定--ssl-version=1时提示错误:invalid or unsupported protocol version 1
  • 指定--ssl-version=3(对应TLS1.0)后,设备的TLS协商仍被Uvicorn拒绝

请问:如何排查并确认Uvicorn断开该TLS会话的原因?


内容的提问来源于stack exchange,提问作者user2913139

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.06 14:40:24