jam*_*her 21 amazon-web-services websocket elastic-load-balancer
我有一个Elastic Beanstalk应用程序,最初配置为使用经典负载均衡器.我发现这在通过WebSocket连接时会导致错误.因此,我将应用程序配置为使用Application Load Balancer,因为我被告知ALB支持WebSockets.但是,似乎他们没有:尝试通过WebSocket连接到我的ALB时,我得到了完全相同的错误.
ALB实际上支持WebSocket吗?AWS文档与此相矛盾.该页面说它只支持HTTP和HTTPS.没有指南来设置ALB以支持WebSocket.
pro*_*erj 35
我能够让WebSockets使用新的Application Load Balancer(ALB).
首先,为您的ALB创建一个新的目标组.此目标组应使用与您的应用程序相同的端口,并且需要配置运行状况检查.但是,主要区别在于您必须启用Stickiness.
接下来,向ALB添加新的侦听器规则.此规则必须具有路由WebSocket设置的路径 - /socket.io.另外,将目标组名称设置为刚刚创建的目标组.
我正在为我的服务器使用Node/Hapi/Socket.io(在从Amazon Linux AMI派生的实例上运行).基本设置是:
const hapi = require('hapi');
const websocket = require('./WebSocket');
var server = new hapi.Server();
server.connection(config.Application);
websocket.Initialize(server.listener);
Run Code Online (Sandbox Code Playgroud)
WebSocket.js的位置
var io = null;
module.exports = {
Initialize: function (http) {
io = require('socket.io')(http);
io.on('connection', function (socket) {
console.log('Websocket ' + socket.id + ' connected.');
socket.on('disconnect', function () {
console.log('Websocket ' + socket.id + ' disconnected.');
});
});
}
};
Run Code Online (Sandbox Code Playgroud)
我使用Angular 1.5x为我的客户端,使用socket.io-client.按如下方式配置WebSocket客户端选项很重要,否则您将无法连接.
(function () {
'use strict';
angular
.module('XXXXX', [])
.run(runHandler);
runHandler.$inject = ['WebSocketService'];
function runHandler(WebSocketService) {
WebSocketService.Initialize();
}
})();
Run Code Online (Sandbox Code Playgroud)
WebSocket服务:
(function () {
'use strict';
angular
.module('XXXXX')
.factory('WebSocketService', WebSocketService);
WebSocketService.$inject = [];
function WebSocketService() {
var socket = null;
function initialize() {
var url = 'http://' + ALB_URL + ':5800';
socket = io(url, {transports: ['websocket'], upgrade: false});
socket.on('connect', function () {
console.log('Socket connected');
});
socket.on('disconnect', function () {
console.log('Socket disconnected');
});
}
return {
Initialize: initialize
};
}
})();
Run Code Online (Sandbox Code Playgroud)
归档时间: |
|
查看次数: |
19981 次 |
最近记录: |