Quarkus WebSocket部署至Azure WebApp运行异常问题咨询
问题现象
客户端(浏览器)侧WebSocket连接在收到消息后会立即断开。
实际表现
发送第3条消息时,浏览器控制台抛出错误:WebSocket is already in CLOSING or CLOSED state。
复现步骤
- 执行命令拉取官方快速示例代码:
git clone https://github.com/quarkusio/quarkus-quickstarts.git - 进入项目目录:
cd websockets-quickstart - 将index.html文件第81行的连接协议从
ws修改为wss - 在
src/main/resources路径下新建application.properties配置文件 - 在配置文件中添加配置项:
quarkus.http.port=80 - 在配置文件中添加配置项:
quarkus.package.type=uber-jar - 执行命令配置Azure WebApp Maven插件:
mvn com.microsoft.azure:azure-webapp-maven-plugin:2.3.0:config - 插件配置过程中选择运行环境为Linux、Java 11
- 执行命令完成项目打包与云端部署:
mvn package azure-webapp:deploy - 访问部署完成的线上应用地址即可复现问题
已部署异常应用
线上异常示例地址:https://quarkus-websockets-quickstart.azurewebsites.net/
补充信息
使用完全相同的配置,将基于sockjs的Spring框架WebSocket实现部署到Azure WebApp可正常运行,参考资料为微软官方发布的Azure App Service Java WebSocket配置指南。
正常运行的Spring示例地址:https://spring-messaging-stomp-websocket.azurewebsites.net/
核心诉求:排查该部署场景下的遗漏配置项,提供可落地的问题解决方案。
内容的提问来源于stack exchange,提问作者spaykit
相关产品推荐
相关产品推荐

