为了不在Node.JS应用程序中公开我的数据库,我试图通过简单地中继两个服务器之间的请求和响应来创建CouchDB和Internet之间的网关,以保持由我控制的身份验证层。起初我尝试自己编写代理但在遇到困难之后我选择了node-http-proxy来做到这一点,请参阅示例:
app.all('*', (req, res) => {
proxy.web(req, res, {'target': 'http://127.0.0.1:5984'});
});
在应用程序的另一侧,我使用了PouchDB“pouchdb-getting-started-todo”。 这里需要的细节不多,只要说我将“pouchdb-getting-started-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是一个REST API,我希望能够做到这一点。有谁知道,这是预期的行为还是异常?