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

Apache反向代理OpenAI Whisper WebUI时HTTPS上传音频无响应问题求助

解决Apache反向代理Whisper WebUI后音频转录无响应问题

问题根源

Gradio(Whisper WebUI基于此框架)依赖WebSocket实现异步任务通信(如音频上传后的转录进度反馈、结果返回),你的默认Apache配置未处理WebSocket请求转发,导致上传后请求卡住。

解决步骤

1. 启用Apache必需模块

首先启用处理WebSocket的proxy_wstunnel模块:

a2enmod proxy_wstunnel
systemctl restart apache2

2. 修改Apache虚拟主机配置

更新*:443段的配置,添加WebSocket转发规则和正确的请求头:

<VirtualHost *:80>
ServerName whisper.mydomain.com
Redirect / https://whisper.mydomain.com/
</VirtualHost>

<VirtualHost *:443>
ServerName whisper.mydomain.com

# 转发WebSocket请求(适配Gradio的异步通信路径)
ProxyPass /queue/join ws://localhost:7860/queue/join
ProxyPassReverse /queue/join ws://localhost:7860/queue/join

# 转发普通HTTP请求
ProxyPass / http://localhost:7860/
ProxyPassReverse / http://localhost:7860/

# 告知后端请求来自HTTPS协议
RequestHeader set X-Forwarded-Proto "https"
RequestHeader set X-Forwarded-Port "443"

SSLEngine on
SSLCertificateFile "/etc/ssl/certs/AlphaSSL__.mydomain.com.pem"
SSLCertificateKeyFile "/etc/ssl/private/AlphaSSL__.mydomain.com.key"
</VirtualHost>

3. 重启Apache服务

systemctl restart apache2

补充说明

  • proxy_wstunnel模块是Apache支持WebSocket转发的核心,必须启用。
  • 添加/queue/join路径的WebSocket转发:Gradio的异步任务通过此路径建立WebSocket连接,缺少则无法接收转录结果。
  • X-Forwarded-Proto和X-Forwarded-Port确保后端生成与外部访问一致的HTTPS链接,避免协议不匹配导致的通信失败。

如果仍有问题,可以尝试更通用的WebSocket路径匹配(覆盖Gradio所有可能的WebSocket端点):

ProxyMatch ^/(queue|websocket)/ ws://localhost:7860$0
ProxyPassReverse ^/(queue|websocket)/ ws://localhost:7860$0

内容的提问来源于stack exchange,提问作者Luis Manuel Cortés Tirado

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.28 10:52:27