我想在 Google Cloud Run 上使用 websockets 服务一个 webrtc 信令服务器。
我从网上拿了一个简单的服务器实现,上传到Cloud Run,指标说可以了
但是,每当我尝试通过以下方式连接到它时:
uwsc ...run.app:9080/
uwsc ws://...run.app
uwsc wss://...run.app
我得到一个
Error connecting to websocket
。对于后两次连接尝试,GCP 上的日志表明网络服务器分别以状态 302 和 101 响应。对于 wss,日志还显示连接已建立,但随后立即关闭,代码为 1006。
服务器实现:
const WebSocket = require('ws');
const wss = new WebSocket.Server({ port: process.env.PORT });
wss.on('connection', (ws) => {
console.log(`Got a new connection`);
ws.on('message', (message) => {
console.log(`Got message ${message}.`);
});
ws.on('close', (code, reason) => {
console.log(`Connection with peer closed `
+ `with reason ${code}: ${reason}`);
});
ws.on('error', (error) => {
console.error(error);
});
});
package.json:
{
"name": "my-server",
"version": "1.0.0",
"private": true,
"main": "server.js",
"scripts": {
"start": "node server.js"
},
"engines": {
"node": ">=12.0.0"
},
"dependencies": {
"ws": ">=8.0.0"
}
}
我该如何调试?