Bug/Improvement: Java客户端默认使用HTTP 2.0 导致AI模型api连接失败,建议手动指定HTTP 1.1
ajdgsu opened this issue · 1 comments
Minecraft Version
- 1.12.2 (End of support)
- 1.16.5 (End of support)
- 1.18.2 (End of support)
- 1.19.2 (End of support)
- 1.20/1.20.1
- 1.21/1.21.1
What happened?
请注意: 以下的讨论均以HTTP协议相关,与HTTPS协议无关
目前常见的AI模型引擎大多使用了Python进行编写,且大多采用了fastapi作为api通讯底层,然而fastapi在默认状态下只支持HTTP 1.1协议进行通讯,且在与使用HTTP 2.0客户端通讯时容易出现无法正确降级的故障 ( 可参考:https://stackoverflow.com/questions/66612990/fastapi-python-why-i-get-unsupported-upgrade-request-with-post-request )。并且目前java默认状态下的HTTP通讯使用的就是HTTP 2.0协议,这就导致有时连接AI模型api时会出现错误 (通常在AI服务器侧会出现WARNING: Unsupported upgrade request.)
这里拿gpt-sovits的报错举个例子: err_log.txt
目前可以使用nginx进行反代来临时解决这个问题(相当于让HTTP降级发生在nginx侧,从而规避fastapi的问题),当然最好是在模组内手动指定HTTP使用1.1协议,HTTPS再使用2.0协议。
该issue与#809 所描述的应该是同一个问题
Relevant log output
Contact Details
No response