Проблема с CORS при обновлении Rails 4 до Rails 5
Я обновляю приложение Rails из Rails 4.1.1
в Rails 5.1.4
, У меня есть 2 приложения, одно веб-приложение (используется для angular
), а другое - это приложение API.
Что я делаю, я отправляю запрос от Web app(Rails with Angular)
и получение данных из API app
, Но когда я отправляю запрос от Web app
есть ошибка, упомянутая ниже:
Не удалось загрузить http://api.myapp:3001/user: Ответ на запрос предварительной проверки не проходит проверку контроля доступа: значение заголовка "Access-Control-Allow-Origin" в ответе не должно быть подстановочным знаком " *'когда режим учетных данных запроса' include '. Источник ' http://myapp:3000/', следовательно, не имеет доступа. Режим учетных данных запросов, инициируемых XMLHttpRequest, контролируется атрибутом withCredentials.
http://myapp:3000' -> Web application and request sending to API
http://api.myapp:3001/user -> API application to send response
После google
проблема, я нашел один драгоценный камень под названием rack-cors
, В Web и API оба приложения я добавил
config.middleware.insert_before 0, Rack::Cors do
allow do
origins '*'
resource '*', :headers => :any, :methods => [:get, :post, :options]
end
end
Но все равно получаю проблему. Пожалуйста, дайте мне знать.
1 ответ
Ну и сообщение:
Значение заголовка "Access-Control-Allow-Origin" в ответе не должно быть подстановочным знаком "*", если режим учетных данных запроса "include"]
Похоже, что вы отправляете учетную информацию из своего приложения Angular, а домен не входит в белый список. Вы можете попробовать, для теста, установить withCredentials в false или разрешить домен.
Это может помочь вам: http://50linesofco.de/post/2017-03-06-cors-a-guided-tour