3.137环境websocket连接不上,3.172可以
1. 现象
- 3.137环境websocket连接不上,3.172可以
请求:
wss://192.168.3.137/wsconn/api/v1/ws?token=eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJleHAiOjE2NjgxMzU0NTksImdyb3VwX2FjY291bnQiOiJvcmdhZG1pbi11c2VyLWdyb3VwIiwiZ3JvdXBfaWQiOjE4MzIyMzM0LCJvcmdhbml6YXRpb25fYWNjb3VudCI6ImFwdWxpcyIsIm9yZ2FuaXphdGlvbl9pZCI6MSwib3JnYW5pemF0aW9uX3N0YXR1cyI6ImluVXNlIiwib3JpZ19pYXQiOjE2Njc4NzYyNTksInJvbGUiOjIsInVzYWdlIjoiIiwidXNlcl9pZCI6ODA5OTE2NSwidXNlcl9uYW1lIjoibHVyYW4ifQ.YZB3bRupG2FSJ-e5pJYFRj5NYoPNsRhkrs1ShDFUGcE
2. 定位
- 比较了 3.137 和 3.172 环境前端请求,并没有看到有什么严重的差异。
- 在容器内,是可以的。
- 端口转发出来,也是可以的。
- 3.137 环境, iam 有报错:
action not found,
; 3.172 则没有。在 iam 中加了日志,认为 3.172 的 iam 确实不用处理 ws 建立连接的请求。
当前结论:
- 请求走过的路径不太对?网格问题?
- 为什么 3.172 不用过 iam ?这个还在查。
其它
- websocket 工具: http://coolaf.com/tool/chattest
- curl 命令测试 websocket:
curl --include \
--no-buffer \
--header "Connection: Upgrade" \
--header "Upgrade: websocket" \
--header "Sec-WebSocket-Key: NVwjmQUcWCenfWu98asDmg==" \
--header "Sec-WebSocket-Version: 13" \
http://127.0.0.1/api/v1/ws