Чтобы не показывать свою БД в приложении Node.JS, я попытался создать шлюз между CouchDB и Интернетом, просто передавая запросы и ответы между двумя серверами, чтобы сохранить уровень аутентификации, контролируемый мной. Сначала я попытался написать прокси-сервер самостоятельно, но после трудностей, которые я выбрал для вас node-http-proxy , чтобы сделать это, см. Пример:
app.all('*', (req, res) => {
proxy.web(req, res, {'target': 'http://127.0.0.1:5984'});
});
На другой стороне приложения я использовал PouchDB "pouchdb-Getting-Start-Todo".
Здесь не нужно много подробностей, достаточно сказать, что всякий раз, когда я подключаю «pouchdb-Getting-Start-Todo» непосредственно к CouchDB, синхронизация завершается без ошибок, но каждая попытка с моим прокси-сервером запускается нормально, регистрируя запрашивать объекты, повторяя одиннадцать раз, и в конечном итоге это в конечном итоге выдает ETIMEDOUT:
n {code: "ETIMEDOUT", status: 0, result: {…}}
code
:
"ETIMEDOUT"
result
:
{ok: false, start_time: Sat May 12 2018 02:45:52 GMT-0300 (-03), docs_read: 0, docs_written: 0, doc_write_failures: 0, …}
status
:
0
__proto__
:
Error
Поскольку CouchDB является API-интерфейсом REST, я ожидал, что смогу это сделать. Кто-нибудь знает, это ожидаемое поведение или аномалия?