vue-cli3设置proxy代理访问外部接口失效

我的

devServer: {
    proxy:  {
      '/proxy': {
        target: 'https://dic.pixiv.net/api/',  // 外部接口地址
        changeOrigin: true,   // 是否允许跨域
        pathRewrite: {  // 重写路径 目的是把/proxy 开始的接口重写 
          '^/proxy': ''
        }
      },
    },

接口访问

export function getTagRead(tagName) { 
 return http.get(`/proxy/tag_count/${tagName}?json=1`)
}

我希望该接口访问的地址:

https://dic.pixiv.net/api/tag_count/名字?json=1

可实际上

image.png

127.0.0.1:3000 是我配置的开发环境下的前缀

image.png

这相当于上面我配置里写的proxy重写路径根本没有生效,请问要如何解决?

是因为axios设置的默认前缀覆盖了proxy配置吗?

阅读 3.6k
3 个回答

"/proxy": {

target: "https://dic.pixiv.net/api",
ws: true,
changeOrigin: true,
pathRewrite: {
    "^/proxy": "/"
}

},

试试这样 请求的baseurl去掉试试 修改配置文件也都需要重启

https的api代理接口必须配置secure: false

devServer: {
    proxy:  {
      '/proxy': {
        target: 'https://dic.pixiv.net/api/',  // 外部接口地址
        changeOrigin: true,   // 是否允许跨域
        secure: false,
        pathRewrite: {  // 重写路径 目的是把/proxy 开始的接口重写 
          '^/proxy': ''
        }
      },
    },
撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题