AWSEC2和负载均衡器在WebSocket上没有返回101状态码。
创始人
2024-09-25 00:31:15
0

在AWS负载均衡器(ELB)的“监听器”中添加“Websockets”协议。同时,在EC2实例上使用Websocket的应用程序代码中,需要返回HTTP 101状态码。

以下是使用Node.js实现WebSocket的示例代码:

const WebSocket = require('ws');
const server = new WebSocket.Server({
    port: 8080,
    verifyClient: (info, done) => {
        // 对每个连接进行身份验证
        done(true);
    }
});

server.on('connection', socket => {
    console.log('连接已建立');

    socket.send('已成功连接到WebSocket服务器');

    socket.on('message', message => {
        console.log('接收到消息:', message);

        // 发送回消息
        socket.send(`已接收到消息:${message}`);
    });

    socket.on('close', (code, reason) => {
        console.log(`连接已关闭. code=${code}, reason=${reason}`);
    });

    // 返回101状态码,以使负载均衡器识别WebSocket协议
    socket._socket.write('HTTP/1.1 101 Web Socket Protocol Handshake\r\nUpgrade: WebSocket\r\nConnection: Upgrade\r\n\r\n');
});

在代码中,我们在最后向连接的套接字添加写入操作,以发送HTTP状态码101。这样ELB就能够识别WebSocket协议,并将连接转发到后端EC2实例。

相关内容

热门资讯

1分钟实锤!智星德州菠萝外挂(... 1分钟实锤!智星德州菠萝外挂(德州)总是真的是有挂(详细辅助AA德州教程);1、任何智星德州菠萝外挂...
2分钟实锤!智星德州菠萝外挂(... 2分钟实锤!智星德州菠萝外挂(来玩德州)竟然是真的有挂(详细辅助技巧教程)1、任何智星德州菠萝外挂a...
第8分钟实锤!智星德州菠萝辅助... 第8分钟实锤!智星德州菠萝辅助器(德州ai)总是真的是有挂(详细辅助介绍教程)1、用户打开应用后不用...
8分钟实锤!德扑之星猫腻(德州... 8分钟实锤!德扑之星猫腻(德州wepower)确实真的是有挂(详细辅助第三方教程)1、德扑之星猫腻系...
第2分钟实锤!智星德州菠萝(线... 第2分钟实锤!智星德州菠萝(线上德州)切实有挂(详细辅助第三方教程)第2分钟实锤!智星德州菠萝(线上...
3分钟实锤!德扑ai助手(nz... 3分钟实锤!德扑ai助手(nzt德州)确实是有挂(详细辅助透明挂教程);1、玩家可以在德扑ai助手软...
第二分钟实锤!德扑之星有猫腻(... 第二分钟实锤!德扑之星有猫腻(德州app)本来真的有挂(详细辅助wpk教程)1、第二分钟实锤!德扑之...
第十分钟实锤!德州之星外挂(德... 第十分钟实锤!德州之星外挂(德州nzt)果然真的有挂(详细辅助AI教程)该软件可以轻松地帮助玩家将德...
第3分钟实锤!智星德州菠萝有挂... 第3分钟实锤!智星德州菠萝有挂吗(nzt德州)其实有挂(详细辅助科技教程)1、点击下载安装,智星德州...
第6分钟实锤!德扑之星有作弊(... 第6分钟实锤!德扑之星有作弊(nzt德州)真是存在有挂(详细辅助黑科技教程)进入游戏-大厅左侧-新手...