当前位置: 首页 > 知识库问答 >
问题:

为什么本地主机调试在使用Http代理中间件后仍然跨源

蒋奕
2023-03-14

我想在localhost:3000端口上调试,当开发react应用程序时,我的服务器api地址是admin。实例com,我在项目中这样配置src/setupProxy。js文件:

const { createProxyMiddleware } = require('http-proxy-middleware');

module.exports = function(app) {
  app.use(createProxyMiddleware('/\/manage\/?$/', 
  { 
    target: 'https://admin.example.com/',
    changeOrigin: true
  }));
};

但当我启动应用程序时,仍然会告诉我XHR是跨源的。我该怎么做才能让它工作?我错过什么了吗?这是http代理中间件版本“http代理中间件”:“^2.0.1”。完整的请求url是:https://admin.example.com/manage/dashboard/overview

共有1个答案

公西光华
2023-03-14

请尝试:这里是setupProxy.js文件:

const proxy = require("http-proxy-middleware");
module.exports = function(app) {
    app.use(proxy("/manage", { target: "https://admin.example.com/" }));
}

API请求示例:

app.post("manage/login", requireSignIn, Authentication.login);
 类似资料:
  • 下面是我的代码: 和控制台输出以下内容: 我以为使用toString可以去掉[],为什么它还在那里? 编辑:如果toString不是摆脱[]的正确方法,那么正确的方法是什么?

  • 问题内容: 有什么办法告诉您的本地主机它可以进行跨域Ajax调用吗? 我需要进行测试。 如果是浏览器特定的问题,我正在使用谷歌浏览器。 干杯。 问题答案: 不,绝对不可能。如果用户可以禁用它,那么它将成为具有恶意或可疑意图的人的主要目标,并且像其他任何易于开发的软件一样。要制作安全的软件,而又不能在更具吸引力的目标上作画,已经足够困难。 实现跨域Ajax的唯一方法是通过服务器端脚本路由请求。 编辑

  • 问题内容: 该代码非常有用: 但是这段代码 不起作用 : 它引发此错误: ZMQError:没有这样的设备 为什么,zeromq无法使用localhost接口? 它只能在同一台计算机上的IPC上运行吗? 问题答案: 问题在于: 尝试更改为:

  • 全部: 我对Gulp和Browserify相当陌生,我所做的是转换一些jsx代码并将它们Browserify到一个bundle.js文件中。 在app.js中,我指定了一些必需依赖项(每个依赖项可能需要一些其他文件),我以为browserify会解析它们并编译成一个bundle.js文件,但当我运行它时,即使我只在index.html页面中包含bundle.js,当我在Chrome source选

  • 我正在尝试使用XCode 6.1和iOS Simulator 8.1检查http(非SSL)流量,使用Charles和我的本地主机apache服务器。 我让Charles正常工作,但它只在我使用本地网络IP地址时捕获流量: 通过Charles,还是有更好的方法与开发团队一起处理特定于环境的设置?

  • 问题内容: 从Java 5开始,我们已经对原始类型进行装箱/拆箱,因此将其包装为,依此类推。 我最近看到许多新的Java项目(肯定要求JRE的版本至少为5,如果不是6的话)正在使用int而不是,尽管使用后者要方便得多,因为它具有一些用于转换的辅助方法到long的值等。 为什么有些人仍然在Java中使用原始类型?有什么切实的好处吗? 问题答案: 在Joshua Bloch的有效Java条款 5:“避