2016-04-24 2 views
4

Мне нужна помощь в синхронизации PouchDB с Couchbase Sync Gateway.Синхронизация PouchDB и Couchbase Sync Gateway - ошибка CORS

Я продолжаю получать следующую ошибку, указывающую на проблему CORS, но я настроил Couchbase Sync Gateway (CSG) для CORS в соответствии с их документацией.

XMLHttpRequest cannot load http://localhost:4985/test-database/. 
No 'Access-Control-Allow-Origin'header is present on the requested 
resource. Origin 'http://localhost:3000' is therefore not 
allowed access. 

Я пробовал следующий файл конфигурации в соответствии с CSG документы:

http://developer.couchbase.com/documentation/mobile/1.2/develop/guides/sync-gateway/configuring-sync-gateway/config-properties/index.html

{ 
    "log": ["HTTP+"], 
    "CORS": { 
    "origin":["http://localhost:3000"], 
    "loginOrigin":["http://localhost:3000"], 
    "headers":["Content-Type"], 
    "maxAge": 1728000 
    }, 
    "databases": { 
    "test-database": { 
     "server": "walrus:", 
     "users": { "GUEST": {"disabled": false, "admin_channels": ["*"] } } 
    } 
    } 
} 

Я пробовал другие конфигурационные файлы, а также из блога Couchbase, но ни один из них Работа! Любая помощь с этим будет принята с благодарностью!

+0

выглядит как только разница в том, номер порта 8k против ок ... Вы можете использовать локон/почтальон для вызова HTTP: // локальной : 3000 - чтобы увидеть, есть ли заголовок cors? Если это так - проблема с PouchDB. В другом случае ваша конфигурация была как-то проигнорирована. Я знаю, что перезапуск/повторное использование - это глупо советовать, или, возможно, вы это сделали. Но на всякий случай - можете ли вы это подтвердить? :) –

ответ

4

Похоже, вы пытаетесь попасть в порт администрирования Sync Gateway, который, насколько мне известно, не поддерживает CORS. Вы пытались настроить таргетинг на общественный порт (4984)?

+0

В этом была проблема. Спасибо за помощь! –

+0

Mine был я отредактировал неправильный sync_gateway.json (моя резервная копия;) – f01

-1

Это потому, что вам необходимо включить CORS на CouchDB. В противном случае ваши скрипты могут получить доступ только к серверной базе данных, если они обслуживаются из одного источника - протокол (например: http: //, https: //), домен и номер порта должны совпадать.

Вы можете включить CORS в CouchDB, используя завиток или веб-интерфейс Futon, но мы сэкономили вам некоторое время, создав скрипт Node, называемый add-cors-to-couchdb. Просто запустите:

npm install -g add-cors-to-couchdb 
add-cors-to-couchdb 

для получения дополнительной информации обратитесь по ссылке
https://pouchdb.com/errors.html#no_access_control_allow_origin_header

Смежные вопросы