AWS API Gateway WebSocket 的自定义终端节点路径

sne*_*.js 5 aws-api-gateway

我使用 Websocket 协议创建了一个 API 网关。部署 API 后,我会获得一个 WebSocket URL 和一个连接 URL。

例如

WebSocket 网址:wss://xxxx.execute-api.us-west-2.amazonaws.com/test

连接网址:https://xxxx.execute-api.us-west-2.amazonaws.com/test/@connections

现在一切都很好,我可以连接到 API,并发送和接收消息。但是当我尝试访问不同的路径时,我收到 HTTP 403 错误。

例如,如果我尝试连接到wss://xxxx.execute-api.us-west-2.amazonaws.com/test/some/path ,我会收到 403 错误。

是否可以配置 API 网关,使其接受所有路径的连接并传递路径(即/some/path在我的情况下)到$connect路由处理程序?

小智 2

AWS 尚不支持此功能。请参阅此处的文章和评论https://medium.com/@lancers/using-parameter-mapping-in-websocket-api-67b414376d5e

有一个使用额外服务器的解决方法,本文作者提出了以下建议:您可以放置​​自己的服务器,该服务器接受带有路径参数的 URI,然后返回 302 以将客户端重定向到带有查询字符串的 WebSocket API 端点。