AWS Appsync 订阅 - “连接失败:连接握手错误”

Posted

技术标签:

【中文标题】AWS Appsync 订阅 - “连接失败:连接握手错误”【英文标题】:AWS Appsync subscriptions - "Connection failed: Connection handshake error" 【发布时间】:2021-03-08 18:36:57 【问题描述】:

我正在尝试在 AWS amplify 的 appsync 上运行一个简单的订阅。

订阅永远不会触发,大约 30 秒后,我在 appsync 控制台中等待订阅时收到此错误消息:

Error: 
    "errors": [
        
            "message": "Connection failed: Connection handshake error"
        
    ]

    at Object.error (https://d3owqdqy53mge.cloudfront.net/4e0034b0d516077971e58313cecbbabc76608841/main.js:135:859689)
    at d (https://d3owqdqy53mge.cloudfront.net/4e0034b0d516077971e58313cecbbabc76608841/main.js:203:1070669)
    at m (https://d3owqdqy53mge.cloudfront.net/4e0034b0d516077971e58313cecbbabc76608841/main.js:203:1071013)
    at e.value (https://d3owqdqy53mge.cloudfront.net/4e0034b0d516077971e58313cecbbabc76608841/main.js:203:1072095)
    at n.<anonymous> (https://d3owqdqy53mge.cloudfront.net/4e0034b0d516077971e58313cecbbabc76608841/main.js:135:679765)
    at r (https://d3owqdqy53mge.cloudfront.net/4e0034b0d516077971e58313cecbbabc76608841/main.js:135:675841)
    at Object.throw (https://d3owqdqy53mge.cloudfront.net/4e0034b0d516077971e58313cecbbabc76608841/main.js:135:675176)
    at s (https://d3owqdqy53mge.cloudfront.net/4e0034b0d516077971e58313cecbbabc76608841/main.js:135:674969)

如果我从浏览器重新创建调用,我会收到此错误:

WebSocket connection to 'wss://r23irwx4tndnjdfh7tlethffca.appsync-realtime-api.us-east-2.amazonaws.com/graphql?header=eyJBdXRob3JpemF0aW9uIjoiZXlKcmFXUWlPaUpTYWx3dlVEVkxOV2N5ZUd0blVXRXhWa3g2YmxVd1YwTmxZbnBsVFdsek4zZHpjelZ0Ym5SYVZrMVpUVDBpTENKaGJHY2lPaUpTVXpJMU5pSjkuZXlKemRXSWlPaUl3WldVNFlUZzVNUzB6TnpFeUxUUXhNekV0T1RsalpTMDFNelZrTTJVeE5UQmpaR0VpTENKbGRtVnVkRjlwWkNJNklqTXpZV1E0T1RneUxXUTBaalV0TkRCa09TMWlaRFl3TFdFNFpEWXlOelprTVRFellTSXNJblJ2YTJWdVgzVnpaU0k2SW1GalkyVnpjeUlzSW5OamIzQmxJam9pWVhkekxtTnZaMjVwZEc4dWMybG5ibWx1TG5WelpYSXVZV1...VSDNCYnJURTM5YmVWNEEzdW1JdGdPN0RjOVFCVkI2U09uX1ZJdVFvUElIOUZGNk10QzdtWTJLby0wQ19NTF9tSVAxdEFTVkNzSW5Zbjd4MWZzalFoUFpaS1J6MTFKbHJPdE5rOWNzOXVrd29yMU1iRGlBNklIOEJiaXIzSjNRNDlSckhXODZLM3RhQmNGSlphQ***TEhKS05QajlBWWZhVHRNTnZnVmV4UUJhZzQ2cW5VZ3l1amF0SUMwamZ1Mk9LUUh1d2NNaGt6WjJjYlB6aWNwcG5kVk5aVVdnY1hzUlBadndFTzlENnZmZ3UyZTM0eHZXRW9mZld1RGh4LVc5Ui1HSEktbG1YTU4ydk9xd1RURTRxejdNM2Q3WGJvN3VyWUpsSHlGUUIxQSIsImhvc3QiOiJyMjNpcnd4NHRuZG5qZGZoN3RsZXRoZmZjYS5hcHBzeW5jLWFwaS51cy1lYXN0LTIuYW1hem9uYXdzLmNvbSJ9&payload=e30=' failed: Error during WebSocket handshake: net::ERR_SSL_PROTOCOL_ERROR

【问题讨论】:

我遇到了完全相同的问题,有人知道为什么会这样吗?几天/一周前这曾经工作得很好 我遇到了同样的错误。你找到解决办法了吗? 【参考方案1】:

我找到的唯一解决方案是更换我的路由器...

不知道为什么会有所不同,尝试了我能想到的所有路由器设置

我使用我家的 LTE WiFi 路由器并不断收到此错误,最终从我的手机提供商那里更换为基于 sim 卡的本地路由器,并且每次都连接。

我在许多不同的模型上使用过它,并且每次都有效。出现故障的路由器是华为B525路由器,其他路由器都没有问题...

【讨论】:

以上是关于AWS Appsync 订阅 - “连接失败:连接握手错误”的主要内容,如果未能解决你的问题,请参考以下文章

使用邮递员订阅 AWS Appsync - 无协议错误

如何在 AWS AppSync 控制台中测试订阅?

AWS Appsync 复杂订阅参数

基于位置的 AWS AppSync 事件订阅

带有 apollo-angular 客户端的 Aws-appsync 订阅

AWS Amplify AppSync 订阅无法正常工作