我将Pusher集成到我的网络应用程序中。它是在Windows Server 2008上运行的基于Java的应用程序.Pusher Server库是他们网站上可用的库。
我一直在我的开发机器上使用Pusher并且没有问题。我只使用公共频道,只有2个公共频道(管理频道和“其他用户”频道。当我的应用程序部署到开发服务器或登台服务器时,一切都按预期工作。
当我推向生产时,错误开始发生。我不断得到401错误,比如Pusher没有验证我的凭据。尽管dev / staging / prod之间的凭证完全相同,但代码没有改变。
我错过了一些设置吗?防火墙设置? Pusher是否会缓存一些我不知道的信息?我对这个问题可能存在的地方感到茫然。
为了证明错误仅在生产服务器上,我可以作为“其他用户”登录生产机器(加载Pusher客户端代码),然后在我的开发机器上以管理员身份激活事件(加载推送服务器代码),它的工作原理。当我从生产机器发出相同的管理事件时,就是401错误发生的时候。
Server returned HTTP response code: 401 for URL: http://api.pusherapp.com/apps/....
答案 0 :(得分:1)
经过一段时间的挖掘后发现了这一点。我的系统时间在生产服务器上停了一个小时,这给了Pusher的错误,并解释了为什么它在dev和staging上工作正常但在生产时使用完全相同的代码失败。