保护Pusher的消息

时间:2019-09-12 07:39:22

标签: message pusher

我正在使用Pusher Channels并像他们的教程中那样传递消息:

https://pusher.com/docs/channels/getting_started/javascript

客户:

let pusher = new Pusher('APP_KEY', {
 cluster: 'APP_CLUSTER'
});
let channel = pusher.subscribe('my-channel');
channel.bind('my-event', function(data) {
alert('An event was triggered with message: ' + data.message);
});

服务器:

// First, run 'npm install pusher'

var Pusher = require('pusher');

var pusher = new Pusher({
  appId: 'APP_ID',
  key: 'APP_KEY',
  secret: 'APP_SECRET',
  cluster: 'APP_CLUSTER'
});

pusher.trigger('my-channel', 'my-event', {"message": "hello world"});

是否可以通过IIS上的端口443保护连接的安全?

1 个答案:

答案 0 :(得分:1)

要确保使用HTTPS将推送器通道消息从服务器发送到通道,然后使用WSS广播到客户端,则需要执行以下操作:

对于在服务器上运行的nodejs库,您需要设置useTLS选项:true

var pusher = new Pusher({
  appId: 'APP_ID',
  key: 'APP_KEY',
  secret: 'APP_SECRET',
  cluster: 'APP_CLUSTER',
  useTLS: true
});

https://github.com/pusher/pusher-http-node#configuration

对于在客户端上运行的pusher-js库,您需要设置选项forceTLS:true

let pusher = new Pusher('APP_KEY', {
 cluster: 'APP_CLUSTER',
 forceTLS: true
});

https://github.com/pusher/pusher-js#configuration

最后,要确保仅通过安全连接接受客户端连接,您需要登录您的Channels Dashboard帐户,找到需要保护的应用程序,然后单击“应用程序设置”选项卡。最后,您需要勾选“强制TLS”框,然后单击“更新”以应用设置。选中此框,将拒绝通过端口80的客户端连接,并强制客户端使用安全连接重新连接:

Make sure clients connect over TLS