Tomcat 服务器访问限制导致 Websocket 无法连接

标签 tomcat websocket

当我配置具有用户控制访问权限的tomcat服务器时,基于Websocket的聊天客户端无法连接到服务器,但页面的其余组件运行正常。你知道如何让 websocket 使用这个配置吗? 我已经配置了更改 tomcat-users.xml 文件(添加到“tomcat-users”用户名、密码和角色)并更改 web.xml 文件添加的控制访问:

 <security-constraint>
 <web-resource-collection>
   <url-pattern>/*</url-pattern>
 </web-resource-collection>
 <auth-constraint>
   <role-name>user</role-name>
 </auth-constraint>
 </security-constraint>

 <login-config>
 <auth-method>BASIC</auth-method>
 <realm-name> Access Control </realm-name>
 </login-config>

包含聊天 websocket 的页面在没有控制访问的情况下完美运行,但此刻我需要在服务器上实现此限制。

最佳答案

在互联网上找了很久的答案后,我发现很多评论表明 HTTP 身份验证方法的实现与 Websocket 不兼容。必须使用其他方法进行身份验证。

link1

link2

关于Tomcat 服务器访问限制导致 Websocket 无法连接,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/24292862/

相关文章:

java - 分析 Web 应用程序的线程转储

java - 双jsvc进程

websocket - 如何使用 ngrok 在本地主机中转发 websocket 服务器

node.js - 无法创建到 Node.js socket.io 服务器的跨域 websocket 连接

java - java-websocket的WebSocketServer使用什么草案?

Apache Tomcat 6 显示访问被拒绝错误而不是身份验证质询

jsp - 我的主机将 java web 文件显示为原始文件

tomcat - 由于 http/https 冲突,CAS 登录/重定向无法正常工作

javascript - Websocket 握手 Sec-WebSocket-Accept header 值不正确

iphone - 单位 : Establishing WebSocket Connection