【问题标题】:Meteor, Modulus and secure websocketsMeteor、Modulus 和安全 websocket
【发布时间】:2015-03-04 10:57:39
【问题描述】:

试图在 Meteor -> Modulus 上下文中了解 websockets 和 xhr。我注意到有时响应时间很长,显然是因为 websockets 在无法连接时会退回到 xhr...我正在尝试诊断原因。

生产应用程序托管在 Modulus 上。启用 SSL。

到目前为止我已经完成/检查的事情

  1. 升级所有东西:该应用程序一直运行在 1.0.2.1(最新)但最初是创建的 在〜0.65天内。作为第一笔生意,我升级了 标准应用程序包到流星平台包并重新启动 服务器。没有变化。
  2. Modulus:检查...Modulus 不需要任何显式命令来启用安全 websockets
  3. Meteor:检查...截至Meteor 0.6.3.1 websockets 默认启用。
  4. 出版规模:我相信我可以在我的生活中更加节俭一点 出版物,但这些似乎总共大约 1.4kb。
  5. 浏览器安全策略:有理由确定这没问题(见下文)

这里是相对新手,因此非常感谢您对下一步检查的任何想法或建议。

PS - 类似的、未回答的问题 herehere

  BrowserPolicy.content.disallowConnect();

  //
  //Allow Meteor DDP Connections
  //
  var rootUrl = __meteor_runtime_config__.ROOT_URL;
  console.log('ROOT_URL: ' + rootUrl);

  //Allow DDP connections for local development
  if (rootUrl == 'http://localhost:3000/') {
    BrowserPolicy.content.allowConnectOrigin(rootUrl);
    BrowserPolicy.content.allowConnectOrigin(rootUrl.replace(/http(s?)/, 'ws$1'));
  }

  //Allow DDP connections for staging server currently using Meteor's free hosting
  if (rootUrl == 'http://staging.example.com') {
    BrowserPolicy.content.allowConnectOrigin('https://*.meteor.com');
    BrowserPolicy.content.allowConnectOrigin('wss://*.meteor.com');
  }

  //Allow DDP connections for Modulus
  if (rootUrl == 'https://myappname-12345.onmodulus.net') {
    BrowserPolicy.content.allowConnectOrigin('https://example.com');
    BrowserPolicy.content.allowConnectOrigin('wss://example.com');
  }

更新:
为了安全起见,将 Modulus ROOT_URL 更改为您的自定义域。所以https://myappname-12345.onmodulus.net 变成了https://example.com

【问题讨论】:

    标签: javascript meteor websocket sockjs modulus.io


    【解决方案1】:

    无论您做什么,都可能至少有一小部分用户会退回到 XHR。 WebSockets 仍然没有在所有地方得到完全支持,尤其是在移动设备上。使用 SSL 可以获得更广泛的支持,但仍然不是无处不在。

    只要 WebSockets 似乎对您有用,您就无能为力了。 XHR 在设计上会有很长的响应时间。 XHR 通过打开与服务器的长(约 30 秒)连接来工作。如果服务器无话可说,它将关闭连接并再次执行此操作。这允许服务器在这 30 秒的窗口中的任何时间立即响应。这些 XHR 民意调查显示响应时间较长,但完全正常。

    声明:我是 Modulus 员工

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2018-02-05
      • 1970-01-01
      • 2015-10-12
      • 2012-09-04
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多