我有一个似乎正常工作的Couch / Pouch应用程序,但遭受奇怪的延迟并用CORS错误填充浏览器日志。 CORS错误仅在超时GET时发生,因为它们的响应不提供CORS头。
使用浏览器开发工具,我可以看到许多成功的轮询请求,如下所示:
GET https://couch.server/mydb/_changes
?style=all_docs
&filter=_view
&view=visible/person
&since=369-69pI ...... bTC_376CZ
&limit=100
response 200
......这样的坏人......
OPTIONS https://couch.server/mydb/_changes
?style=all_docs
&feed=longpoll
&heartbeat=10000
&filter=_view
&view=visible/person
&since=369-69pI ...... bTC_376CZ
&limit=100
response 200
GET https://couch.server/mydb/_changes
?style=all_docs
&feed=longpoll
&heartbeat=10000
&filter=_view
&view=visible/person
&since=369-69pI ...... bTC_376CZ
&limit=100
response 524
因此,好案例和坏案例之间只有两个区别。在坏情况下PouchDB:
显然,缺陷是CouchDB的524响应没有CORS头!
我有四个这样的live: true, retry: true
复制器,所以我的浏览器日志每十秒显示四个红色墨水错误。
我会在CouchDB存储库中将此作为一个问题发布,但我首先想要一些反馈;我很容易误解某事,
其他因素:
请告诉我是否应该提供进一步的细节。
回答这个问题应该归功于@sideshowbarker,因为他让我意识到错误不是在CouchDB中,而是在我的Cloudflare设置中。
在那些设置中,我将我的CouchDB站点设置为使用DNS and HTTP proxy (CDN)
(橙色云图标)模式而不是DNS only
(灰色云图标)。切换到DNS only
,并且可能不必要地擦除缓存,在相当长的延迟(超过一小时?)后解决了问题。