vue配置代理后,接口请求的Host和Referer都是同一个地址?

发布于 2022-09-12 13:03:36 字数 1105 浏览 14 评论 0

vue.config.js:

` proxy: {

  "/api": {
    //目标接口域名
    target: VUE_APP_URL ,
    ws: true, // 是否启用websockets
    changOrigin: true, //开启代理
    pathRewrite: {
      "^/api": "" //重写接口,后面可以使重写的新路径,一般不做更改
    }
  }
}`

axios.js:

if (process.env.NODE_ENV === "development") {
axios.defaults.baseURL = "/api";
}

如上配置后,接口地址变为了:http://localhost:8080/structure/login/index这种的。但是报404错误。检查接口的请求头时,发现:

  1. Host:

    localhost:8080

  2. Referer:

    http://localhost:8080/

    这是什么原因?是正常的吗?
    当我直接在浏览器中输入:"http://dashboard.xxxx.com/structure/login/index"的时候,他能直接跳转到后台首页,说明接口地址是能够访问到的("http://dashboard.xxxx.com"这个是我代理的真实接口地址)。代理后反而报404错误。
    我快要疯了都。怎么解决啊

    eq:当我直接在axios.js中将axios.defaults.baseURL = "http://dashboard.xxxx.com";的时候,接口又报跨域错误

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(1

与酒说心事 2022-09-19 13:03:36

vue.config.js:

devServer: {
    proxy: {
      "/api": {
        //目标接口域名
        target: "http://dashboard.xxxx.com",
        ws: true, // 是否启用websockets
        changOrigin: true, //开启代理
        pathRewrite: {
          "^/api": "" //重写接口,后面可以使重写的新路径,一般不做更改
        }
      }
    }
  }
~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文