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

OpenShift部署Neo4j后WebSocket连接失败问题求助

OpenShift上Neo4j Bolt连接WebSocket错误的解决思路
  • 检查Route的协议兼容性
    OpenShift默认Route为HTTP/HTTPS设计,Bolt作为二进制协议无法被HTTP路由正确处理。需调整Route配置:

    • 使用Passthrough终止策略:将Route的tls.termination设为passthrough,避免OpenShift Router对Bolt流量做HTTP层处理,直接透传TCP流量。
    • 若集群支持,创建TCP Route(OpenShift 4.10+支持),专门用于转发TCP协议的Bolt流量。
  • 修正Neo4j的Advertised Address配置
    当前dbms.connector.bolt.advertised_address设置为0.0.0.0:7687,会导致客户端收到无效的连接地址。需将其修改为Neo4j Route的外部域名+端口,例如:

    env:
      - name: dbms.connector.bolt.advertised_address
        value: "your-neo4j-route.example.com:7687"
    

    确保客户端能解析该域名并访问对应端口。

  • 调整客户端连接协议前缀

    • 若通过浏览器或基于WebSocket的客户端连接,需使用ws://(非加密)或wss://(加密)前缀,而非bolt://。例如:wss://your-neo4j-route.example.com:7687。
    • 若使用Neo4j Desktop等桌面客户端,需直接通过TCP协议连接,此时不能依赖HTTP Route,需使用TCP Route、NodePort或ClusterIP(仅集群内客户端可用)。
  • 验证Service与Pod的端口映射
    确认Service的targetPort与Pod的7687端口一致,且协议为TCP,示例Service配置:

    spec:
      ports:
        - port: 7687
          targetPort: 7687
          protocol: TCP
    
  • 排查Neo4j日志与集群内连通性

    • 查看Neo4j Pod日志,确认Bolt连接器正常启动(日志中会显示Bolt enabled on 0.0.0.0:7687)。
    • 在集群内启动测试Pod(如curl镜像),执行nc -zv <neo4j-service-name> 7687,验证Service到Pod的连通性,排除集群内部网络问题。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.06.21 15:31:02