基础使用
现在,对 /api/users
的请求会将请求代理到 http://localhost:3000/api/users
。
需要注意的是只是代理了服务器地址,/api/users
并没有被替换, 如果需要替换 /api
需要使用下面的 pathRewrite 。
pathRewrite: 重写路径
如果不希望传递/api
,则需要重写路径:
secure: HTTPS配置
默认情况下,将不接受在 HTTPS 上运行且证书无效的后端服务器。 如果需要,可以这样修改配置:
绕过代理
有时不想代理所有内容。 可以基于函数的返回值绕过代理。
在该功能中,可以访问请求,响应和代理选项。
- 返回
null
或 undefined
以继续使用代理处理请求。
- 返回
false
会为请求产生 404 错误。
- 返回提供服务的路径,而不是继续代理请求。
例如。 对于浏览器请求,想要提供 HTML 页面,但是对于 API 请求,想要代理它。 可以执行以下操作:
多路径代理到同一目标
如果想将多个特定路径代理到同一目标,则可以使用一个或多个带有 context
属性的对象的数组:
启用根代理
请注意,默认情况下不会代理对 root 的请求。 要启用根代理,应将 devMiddleware.index
选项指定为虚假值:
changeOrigin
: 隐藏主机来源(解决跨域)
默认情况下,代理时会保留主机头的来源,可以将 changeOrigin
设置为 true
以覆盖此行为。 在某些情况下,例如使用 name-based virtual hosted sites,它很有用。
扩展阅读