У меня есть приложение 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:
- предшествует запросу GET с запросом OPTIONS
- указывает на ленту длинных вызовов с тайм-аутом 10 секунд
Дефект, очевидно , это то, что Ответ 524 CouchDB не имеет заголовков CORS!
У меня четыре таких live: true, retry: true
репликатора, поэтому в журналах моего браузера отображаются четыре ошибки с красными черниламикаждые десять секунд.
Я бы опубликовал это как проблему в репозитории CouchDB, но сначала я хотел бы получить некоторые отзывы;Я мог легко что-то неправильно понять,
Другие факторы:
- Я размещаю код клиента на страницах GitHub и обслуживаю его через CloudFlare.
- Доступ к CouchDB от клиентовтакже проходит через CloudFlare
- CouchDB стоит за NGinx на моем VPS.
Дайте мне знать, если есть дополнительные подробности, которые я должен предоставить, пожалуйста.