问题标签 [http-proxy-middleware]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
0 回答
476 浏览

node.js - Express JS:Superagent 不使用 http-proxy-middleware

我正在使用 express JS 编写一个节点应用程序。通常在这个应用程序中,我们使用 res api 并将它们合并到一个对象中并将其发送到 Angular 应用程序。作为休息客户端,我正在使用superagent。我的一位同事使用 http-proxy-middleware编写了反向代理代码。

使用 superagent 我进行如下调用,它不使用我在代码中提到的 http-proxy-middleware。

通常 http 调用应该通过中间件,因为我们在快速服务器中使用了该中间件,但它没有这样做。在中间件中,当路径与"^applications-api"匹配时,我们使用实际端点,但它没有发生。Superagent 期望从http://endpoint.com/1/anotherendpoint开始的 url,但我希望它从代理中间件中使用。

为了使用 http-proxy-middleware 与 superagent 配置有什么关系?请建议。任何帮助将不胜感激。

谢谢

0 投票
2 回答
1920 浏览

node.js - 带有http-proxy-middleware的webpack-dev-server中的保持活动选项?

我们将 webpack-dev-server 与 http-proxy-middleware 一起使用。我们的量角器测试用例不断超时。我怀疑我们需要将 keep-alive 设置为 true,但我在 webpack-dev-server 和 http-proxy-middleware 中都没有看到这样的选项。是否可以为 wepack-dev-server 配置 keep-alive?

谢谢

0 投票
0 回答
1049 浏览

node.js - 如何处理多个路由匹配的快速路由?

我有一个使用 http-proxy-middleware 设置的快速应用程序,但我在通过代理仅路由请求的子集时遇到问题。

这是我的配置的样子:

代理路由有时会起作用,有时会打印“未找到?” 404 结果。值得注意的是,我的 react-router 配置中没有与上面的代理路由匹配的路由。由于两条路线在技术上都与 express 路线相匹配,我猜 express 是随机选择执行哪一个?

编辑:这是一个有问题的示例路线:

/user-img/bc070850-11c9-a79e-2881-9bd6cc04c3ca.jpg

0 投票
2 回答
2044 浏览

proxy - Vue-resource 和 http-proxy-middleware 未路由到后端

我是 Vue js 的新手,正在为一个简单的任务跟踪器应用程序编写前端。我正在尝试使用 vue-resource 和 http-proxy-middleware 让应用程序连接到我的后端。后端在 3000 端口,Vue js 前端在 8080 端口。

我使用了Vue 文档中描述的代理设置。

方法:

我的代理表:(在 dev 下的 config.index.js 中)

当我启动服务器时,我看到:

根据要求:

所以看起来代理不起作用。非常感谢任何帮助。

0 投票
1 回答
1958 浏览

reactjs - webpack-dev-server 代理不工作

我的应用程序使用 Python 后端,因此当我在本地运行时,我需要将我的请求代理到与运行 Webpack 不同的端口。

我尝试了几种不同的方法来完成这项工作:

和这个:

这两者至少会在启动时显示类似于此的消息:[HPM] Proxy created: ** -> http://localhost:8000. 当我查看文档并执行类似操作时,它也不起作用(我什至没有收到有关代理正在运行的消息):

有什么明显的我做错了吗?我一直在尝试所有我能想到的组合来让它发挥作用。

0 投票
1 回答
1809 浏览

webpack - webpack devServer 和代理显示 404 页面

当我代理到这样的第三个域时,我应该在哪里连接?

不应该localhost:8080显示http://www.example.org内容?

因为我得到一个 404 页面......(其他网站也是如此,我得到未找到,甚至是 apache 安装页面!)

0 投票
1 回答
669 浏览

angular - Angular CLI HTTP 代理云功能配置

Angular CLIhttp-proxy-middleware是否可以拦截/代理对外部 URL 的调用,例如 Azure Functions 或 Firebase 函数等无云服务器功能?

例如,针对外部基于云的函数 URL,例如https://foobar.azurewebsites.net/api/SampleHttpFunction?code=123ABC456XYZ==,您将如何设置proxy.conf.json拦截此 URL/路径?

以下配置确实成功拦截了 HTTP 请求(target出于开发目的,设置为本地运行的云功能 localhost 端口)。Angular 应用程序使用 command 启动"ng serve --proxy-config proxy.conf.json --open"

对任何这些配置的HttpClient调用https://foobar.azurewebsites.net/api/SampleHttpFunction?code=123ABC456XYZ==仍会转到生产云功能 URL,而不是http://localhost:1234/api.

更新:根据我尝试使用多条目配置并使用启动应用程序的建议ng serve --proxy-config proxy.conf.js --open,但它仍然没有捕获 HTTP 调用:

感谢您提供任何帮助!

0 投票
2 回答
2375 浏览

node.js - 代理的 http 响应无法设置 cookie

我正在开发一个 Web 应用程序并使用 Google Chrome 60.0.3112.113 对其进行测试。

为了简化开发过程,我使用带有http-proxy-middleware的 node.js 开发 Web 服务器将我的 API 请求代理到后端。

现在,当我使用axios向 API 端点之一发送 HTTP POST 请求以在我的后端创建会话时,我得到稍微改变的响应标头(从 DevTools 复制):

直接响应 代理响应

问题是 chrome 没有设置代理响应中指定的 cookie(DevTools->Application->Storage->Cookies 保持为空),但是直接响应按预期设置了 cookie。

Cookie 在 DevTools->Network-> My Request ->Cookies 中正确显示。两个版本(直接和代理)都通过http://localhost:[8080 / 3000]

set-cookiechrome中可以忽略小写标题吗?或者其他标题是否会干扰 cookie 的设置?

顺便说一句:在 Safari 10.1.2 (12603.3.8) 中运行良好

0 投票
2 回答
2899 浏览

angular - 如何为生产中的网站设置代理设置

我开发了一个有角度的网站,并在 proxy.conf.js 文件中有以下代理设置。

proxy.conf.js 在开发模式下按预期工作。

我在 package.json 文件中有这些用于启动和构建。

在我运行“npm run build”并使用生成的文件在 IIS 8 上托管网站后,需要使用代理设置的页面不起作用。

比如我的请求https://localhost/web/api/webclients/authentication应该去https://10.109.102.109/web/api/webclients/authentication

如果我将此网站托管在 Windows 服务器上,如何在 IIS 中设置这些代理设置,或者如果我将其托管在非 Windows 服务器上,如何设置这些代理设置?

0 投票
1 回答
280 浏览

node.js - 节点 HTTP 代理:根据响应尝试不同的端点

简而言之,我们使用https://github.com/chimurai/http-proxy-middleware 并且如果初始代理端点返回 404 或 500,我们希望将请求引导到不同的端点。

IE

-> http://www.example.com (404)

-> http://www.backup.com (200)

因此客户端收到来自 www.backup.com 的响应。