我有一个使用ActionCable的Rails 4.2.x应用程序。
目标
由于我正在使用Devise FIDO U2F gem,因此我必须从HTTP切换到HTTPS。 所有应用程序都正常工作,我的(自签名)证书在Chrome中有效(绿色锁图标),并且在KeyChain Access中具有当使用此证书时从信任证书部分到始终信任。
我正在将WebSocket从ws://my.app.eu:28080
迁移到wss://my.app.eu:28080
。
问题
我使用Puma运行ActionCable服务器,但我发现Puma正在使用eventmachine,这不兼容。 因此,我将ActionCable服务器迁移到thin,但从未使其工作。
我被Chrome控制台的错误消息所困扰:
WebSocket connection to 'wss://my.app.eu:28080/' failed: WebSocket opening handshake was canceled
奇怪的事情
我还不知道为什么和如何,但是有两次它突然在Chome中工作了(不再出现错误并且可以看到通过ActionCable到达Chrome的消息),就像某些东西被解除了阻止。
我的意思是,当订阅队列时,应用程序正在记录,当它突然工作时,我在应用程序日志文件中看到了这些日志。
问题
- 我需要做什么才能使其正常工作?
- 有没有办法查看它卡住的地方?
- 你知道一个地方可以解释如何通过SSL将Rails开发环境与WebSockets一起使用吗?
Error raised inside the event loop: no implicit conversion of Puma::MiniSSL::Socket into Integer
:( - ZedTuX