Couchdb 524响应没有CORS头

Couchdb 524响应没有CORS头,couchdb,cloudflare,pouchdb,Couchdb,Cloudflare,Pouchdb,我有一个沙发/邮袋应用程序,似乎工作正常,但遭受奇怪的延迟,并填补浏览器日志与CORS错误。CORS错误仅在超时获取时发生,因为它们的响应不提供CORS头 使用浏览器开发工具,我可以看到许多成功的轮询请求,如下所示: GET https://couch.server/mydb/_changes ?style=all_docs &filter=_view &view=visible/person &since=369-69pI ...... bTC_376C

我有一个沙发/邮袋应用程序,似乎工作正常,但遭受奇怪的延迟,并填补浏览器日志与CORS错误。CORS错误仅在超时获取时发生,因为它们的响应不提供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
因此,好的情况和坏的情况之间只有两个区别。在坏的情况下:

  • 在GET请求之前加上一个选项请求
  • 指定具有10秒超时的longpoll提要
  • 显然,缺陷在于CouchDB的524响应没有CORS头

    我有四个这样的
    live:true,retry:true
    replicators,所以我的浏览器日志每10秒显示四个红色错误

    我会在CouchDB存储库中将此作为一个问题发布,但我希望首先在这里得到一些反馈;我很容易就误解了什么

    其他因素:

  • 我将客户机代码托管在GitHub页面中,并通过CloudFlare提供服务
  • 从客户端访问CouchDB也需要通过CloudFlare
  • CouchDB坐在我的VPS上的NGinx后面

  • 请让我知道我是否需要提供更多详细信息。

    回答此问题的功劳应该归于@sideshowbarker,因为他让我意识到错误不在CouchDB中,而是在我的Cloudflare设置中


    在这些设置中,我将CouchDB站点设置为使用
    DNS和HTTP代理(CDN)
    (橙色云图标)模式,而不是
    仅DNS
    (灰色云图标)。切换到
    仅DNS
    ,并可能不必要地擦除缓存,在相当长的延迟后(超过一小时?)解决了问题

    大多数服务器的5xx错误都没有访问控制Allow-*头。这是典型的情况。具有访问控制Allow-*头的5xx是非典型的。无论如何,524是一个特定于Cloudfare的错误,记录表明“Cloudflare能够完成到源服务器的TCP连接,但没有收到及时的HTTP响应”,因此该错误与任何CORS配置无关。因此,问题是Cloudflare根本没有从服务器获得任何响应。因此,在这种情况下,访问控制不允许-*headersWow速度如此之快就不足为奇了。谢谢我仍然在思考如何清理浏览器日志的问题。有什么想法吗。。。或者我应该问一个新问题吗?CouchDB从不返回524。看到了吗?嗨,弗林兹!是的,@sideshowbarker让我看到了这一点。但是谢谢