[英]How to make pouchdb cloudant replication work with node.js/express proxy?
我無法使PouchDB Cloudant復制通過代理(express / node.js服務器和node-http-proxy)工作。 想為此添加訪問控制。
復制無需代理即可工作:
PouchDB-> Cloudant( https://account:password@account.cloudant.com/testdb
)
復制失敗並使用代理:
PouchDB->快速代理( http://localhost:3000/proxy
)-> Cloudant( https://account:password@account.cloudant.com/testdb
)
error: CustomPouchError
代理
const httpProxy = require("http-proxy");
const proxy = httpProxy.createProxyServer();
router.all("/proxy", (req, res, next) => {
proxy.on("proxyReq", (proxyReq, req, res, options) => {
proxyReq.setHeader("Authorization", "Basic: Base64(account:password)")
})
proxy.web(req, res, {
target: "https://account:password@account.cloudant.com/testdb",
secure: false,
changeOrigin: true
});
});
PouchDB
// succeeds without proxy
localDB.replicate
.to("https://account:password@account.cloudant.com/testdb")
.on('error', err => {
console.log('error', err);
});
// fails with proxy
localDB.replicate
.to("http://localhost:3000/proxy")
.on('error', err => {
console.log('error', err);
});
真的卡住了! 非常感謝您對任何錯誤或如何通過代理實現pouchdb cloudant復制的任何想法。 謝謝!
您的代碼正在嘗試使用代理本身進行復制。 代理不是目標服務器,這就是為什么您會收到錯誤消息。 如果Express中的代理設置正確,則應該能夠與目標服務器進行復制,並且代理設置應控制連接,而無需在應用程序中添加任何代碼。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.