nginx与vue路由

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/get,proxy_pass为http://localhost:8080/order ,如果后台接口为/get,那么proxy_pass为http://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方式相同。

  • 9
    点赞
  • 8
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值