本文介绍: vue代理方式在不加 replace(“/sign-system“, “”) 的时候,是将标识符追加target后边;当加 replace(“/sign-system“, “”) 语句后,原理则与nginx方式相同

nginx代理方式

server {

listen 80;

server_name localhost;

location /order/{ 

    proxy_pass http://localhost:8080/order 
    
}

表示监听80端口,将请求反向代理到后端服务器

例如:当浏览器请求路径localhost:80/order/get检测请求路径里的/order/时候proxy_pass将代替这个标识符之前(包括标识符)的内容。也就是访问的是 localhost:8080/order/get

  location后边的字段拦截的是公用前缀。在这里后端接口为/order/getproxy_passhttp://localhost:8080/order ,如果后台接口为/get,那么proxy_passhttp://localhost:8080。


后端接口:
/api/order/get
/api/order/test

后端端口号localhost:8080

nginx该怎么配?

 ==>

location api/order/ {
        proxy_pass    http://localhost:8080/api/order/

}

浏览器输入 localhost:80/api/order/get

想让它转到 localhost:8080/order/get

nginx该怎么配?

 ==>

location api/order/ {
        proxy_pass    http://localhost:8080/order/

}

或者

location api/ {
        proxy_pass    http://localhost:8080

}

具体使用哪种取决于业务场景

VUE代理方式

server: {
      port: 3333,
      /** 接口代理 */
      proxy: {
        "/sign-system": {
          target: "http://localhost:8080/sign-system",
          rewrite: (path) => path.replace("/sign-system", "")
        }
      }
    }

表示监听3333端口,将请求反向代理到后端服务器

例如:当浏览器请求路径localhost:3333/sign-system/sign,检测请求路径里的/sign-system/时候,将这个标识符及后边内容 (/sign-system/sign) 一起追加target内容后边。则这里访问到的是 localhost:8080/sign-system/sign-system/sign。

replace(“/sign-system”, “”) 将 /sign-system 转为空格,也就是访问路径变成了 localhost:8080/sign-system/sign。      注意:replace替换的 /sign-system浏览器请求路径中的/sign-system

总结

vue代理方式在不加 replace(“/sign-system“, “”) 的时候,是将标识追加target后边;当加 replace(“/sign-system“, “”) 语句后,原理则与nginx方式相同

原文地址:https://blog.csdn.net/m0_61982496/article/details/134681392

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任

如若转载,请注明出处:http://www.7code.cn/show_38200.html

如若内容造成侵权/违法违规/事实不符,请联系代码007邮箱suwngjj01@126.com进行投诉反馈,一经查实,立即删除

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注