保护 Pusher 的消息

Securing Pusher's messages

我正在使用 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 保护连接?

要确保 Pusher Channels 消息使用 HTTPS 从您的服务器发送到 Channels,然后使用 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 帐户,找到您需要保护的应用程序,然后单击“应用程序设置”选项卡。最后您需要勾选方框 "Force TLS" 并单击 "Update" 以应用设置。勾选此框后,通过端口 80 的客户端连接将被拒绝,客户端将被强制使用安全连接重新连接: