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

Spring Boot WebSocket部署后403禁止连接问题及HTTPS配置求助

WebSocket 403禁止连接问题排查及HTTPS部署方案

一、403禁止连接问题定位

根据你更新的信息,其他网络能正常连接,说明服务器本身的WebSocket配置没有问题,问题出在服务器部署的本地网络限制上,建议从以下几点排查:

  • 本地防火墙/安全组拦截:检查服务器所在机器的防火墙规则,确保WebSocket使用的端口(默认8080,若自定义端口需对应)已开放入站TCP连接权限。
  • 网关/代理限制:部分企业或家庭网络的网关会拦截WebSocket请求(ws/wss协议),或存在HTTP代理规则阻止此类连接。可以先在服务器所在局域网内用客户端直接连接测试,验证局域网内是否能正常通信。
  • 冗余配置优化:你的代码中重复注册了同一个WebSocketHandler到/websocket路径,虽然不影响功能,但可以简化为:
@Override 
public void registerWebSocketHandlers(WebSocketHandlerRegistry registry) { 
    registry.addHandler(new WebSocketHandler(), "/websocket")
            .setAllowedOrigins("*")
            .withSockJS();
}

注:你使用的Spring Boot WebSocket Starter版本(1.1.0.RELEASE)较老,setAllowedOrigins("*")是有效的;若升级到Spring Boot 2.4+,需替换为setAllowedOriginPatterns("*")。

二、配置HTTPS发布服务器

要通过HTTPS发布服务器,按以下步骤操作:

  1. 生成SSL证书:使用JDK自带的keytool生成自签名证书(生产环境建议使用CA颁发的正规证书),执行命令:
keytool -genkeypair -alias myserver -keyalg RSA -keysize 2048 -storetype PKCS12 -keystore keystore.p12 -validity 3650

按提示输入证书相关信息,记住设置的密钥库密码(示例用password)。
2. 放置证书文件:将生成的keystore.p12文件复制到项目的src/main/resources目录下。
3. 配置HTTPS参数:在application.properties中添加以下配置(若用YAML格式可对应转换):

server.port=8443
server.ssl.key-store=classpath:keystore.p12
server.ssl.key-store-password=password
server.ssl.key-store-type=PKCS12
server.ssl.key-alias=myserver
  1. 客户端连接调整:服务器重启后,客户端需使用wss://协议连接WebSocket,示例地址:wss://你的服务器IP:8443/websocket;若使用SockJS,则连接地址为https://你的服务器IP:8443/websocket。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.15 21:30:50