使用 appcache 在服务器上重新部署后 Meteor 不断重新加载

Posted

技术标签:

【中文标题】使用 appcache 在服务器上重新部署后 Meteor 不断重新加载【英文标题】:Meteor reloads endlessly after re-deployment on server with appcache 【发布时间】:2015-10-24 05:08:17 【问题描述】:

我的 Meteor 应用运行良好,但在进行了一些更改和重新部署之后。

在 fiefox 中有无限的重新加载 在 android 中,更新应用后似乎无法连接(也无限重新加载)。

我尝试在节点配置中设置DDP_DEFAULT_CONNECTION_URL,但没有帮助。在我的测试系统上,该应用程序在 nginx 服务器之外运行。

清理 appcache 对 firefox 有帮助(我正在使用 AppCache 插件),清理 android 上的应用程序数据也有帮助。

这是否发生在其他人身上?我们如何解决这个问题?

谢谢。

=== 更新: 在 Chrome 中,可以看到以下异常:

Document was loaded from Application Cache with manifest http://xxxxxx/app.manifest
list:1 Application Cache Checking event
list:1 Application Cache NoUpdate event
list:1 Application Cache Checking event
list:1 Application Cache NoUpdate event
Uncaught Error: Two migrations in progress?

....

=== 更新 2:

在调查了这个问题之后,我遇到了很多关于meteor上无限重新加载和appcache的类似问题:

Meteor infinite redirect instead of render 404 https://meteor.hackpad.com/Hot-Code-Push-design-notes-9o22fy6gruu https://github.com/meteor/meteor/issues/2261 Meteor infinite redirect instead of render 404 https://github.com/meteor/meteor/issues/4722

=== 更新 3:

这是当前日志:

Application Cache Checking event
Checking for manifest
Application Cache NoUpdate event
No cache updates
Navigated to http://xxxxxxx/
Document was loaded from Application Cache with manifest http://xxxxxxx/app.manifest
Application Cache Checking event

//... and so on

连接 Android 设备并使用 Chrome 进行调试

Uncaught SyntaxError: Unexpected token <

更新后。

卸载 appcache 包后,一切正常,但应用程序必须离线可用。

这是 Meteor AppCache 包中一个非常烦人的错误。有谁知道这个问题的解决方案吗?

==== 更新

我们试过了:

    删除所有 notFoundTemplates: 在 LAST 规则处添加描述的解决方案:https://github.com/iron-meteor/iron-router/issues/1202 清理您的应用缓存,并且在清理缓存后重新部署将在第二次部署中起作用

在第二个旁边的部署中,错误再次出现:/

===== 更新结束

【问题讨论】:

【参考方案1】:

我不知道这是否有帮助,但如果您使用的是 nginx+ 乘客设置,请尝试从缓存配置中删除 meteor_runtime_config.js。 以下对我有用 例如配置:

location /meteor_runtime_config.js 
   expires -1;

【讨论】:

以上是关于使用 appcache 在服务器上重新部署后 Meteor 不断重新加载的主要内容,如果未能解决你的问题,请参考以下文章

使用 Azure Active Directory 身份验证在 Linux 上重新启动 Azure 应用服务会重置 /.auth/me/

解决方案重新部署后 Webpart 损坏

在 WildFly 上重新部署后,CDI 无法在 @Requestscoped REST 服务中将 @Singleton 设置为 @Provider

重新部署后如何使用 Elastic Beanstalk 处理经典负载均衡器

Socket.io 在 localhost 上工作,但在部署 heroku 后无法工作?

html5 appcache 在 IOS 11.3 上停止工作