首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
社区首页 >问答首页 >如何让pouchdb cloudant复制与node.js/express proxy一起工作?

如何让pouchdb cloudant复制与node.js/express proxy一起工作?
EN

Stack Overflow用户
提问于 2019-07-15 18:02:47
回答 1查看 178关注 0票数 1

我无法通过代理(express/node.js服务器和PouchDB -http- proxy )让http复制工作。想要实现这一点,添加访问控制。

复制在没有代理的情况下工作:

PouchDB -->云(https://account:password@account.cloudant.com/testdb)

复制失败,并显示代理:

云-->快速代理(http://localhost:3000/proxy) --> PouchDB (https://account:password@account.cloudant.com/testdb)

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
error: CustomPouchError

代理

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
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

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
// 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复制的想法。谢谢!

EN

回答 1

Stack Overflow用户

发布于 2019-07-22 14:11:11

您的代码正在尝试使用代理本身进行复制。代理不是目标服务器,这就是为什么会出现错误的原因。如果Express中的代理设置是正确的,那么您应该能够与目标服务器进行复制,并且代理设置应该能够控制连接,而不需要在应用程序中编写任何额外的代码。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/57044997

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档
查看详情【社区公告】 技术创作特训营有奖征文