Проксито на Vue devServer не помага, все още получавам CORS грешка

Използвам @vue/cli 3.x и в моя vue.config.js имам това:

devServer: {
    proxy: {
      "/api": {
        ws: true,
        changeOrigin: true,
        target: "http://localhost:8080"
      }
    }
  }

Но продължавам да получавам CORS грешка:

Достъп до XMLHttpRequest на адрес „http://localhost:8080/api“ от източника „http://localhost:3000" е блокиран от правилата на CORS: Няма заглавка "Access-Control-Allow-Origin" на заявения ресурс.

Някаква идея?


person Tomer    schedule 10.04.2019    source източник
comment
Не съм експерт по CORS, но ако предполагам, бих казал, че трябва да активирате CORS от вашия сървър и да добавите Access-Control-Allow-Origin към заглавката на вашата заявка. Сървърът ви се оплаква, а не интерфейсът на Vue.   -  person James Whiteley    schedule 10.04.2019
comment
@JamesWhiteley - точно затова дефинирам прокси, така че не е необходимо да дефинирам CORS на моя сървър   -  person Tomer    schedule 10.04.2019
comment
@Tomer: намирал ли си някога решение на този проблем?   -  person dotNET    schedule 18.10.2019
comment
@dotNET - всъщност да :), очевидно имах някои конфигурации на Axios, които игнорираха проксито. моята конфигурация на сървъра за програмисти изглежда така: devServer: { proxy: { "^/api": { target: url, ws: true, changeOrigin: true } } },   -  person Tomer    schedule 19.10.2019


Отговори (1)


Изглежда, че проблемът е бил в конфигурациите на axios.

Имах това определение: axios.defaults.baseURL = "http://localhost:8080/api"; промених го на axios.defaults.baseURL = "api";

и работи.

module.exports = {
    ...
    devServer: {
        proxy: {
          "^/api": {
          target: url,
          ws: true,
          changeOrigin: true
        }
     }
  },
}
person Tomer    schedule 19.10.2019
comment
В кой файл точно добавяте това axios.defaults.baseURL = "api"? - person anna; 10.12.2019
comment
Имам файл axios.config.js, който импортирам в основния си файл, но всъщност няма значение как го наричате - person Tomer; 10.12.2019