Мы развернули веб-приложение Laravel 10 — React JS на сервере Windows.
API работает, попробовали на почтальоне.
Веб страницы для нашего внешнего интерфейса также работают, за исключением случаев выполнения API. Ниже отображается ошибка Cors:
Доступ к XMLHttpRequest по адресу «https://api.mydomain.com/sign-in» из источника «https://webapp.mydomain.com». ' заблокирован политикой CORS: ответ на предполетный запрос не проходит проверку контроля доступа: в запрошенном ресурсе отсутствует заголовок 'Access-Control-Allow-Origin'.
I Я уверен, что я правильно настроил .env и cors.php, включил промежуточное программное обеспечение Cors. Кроме того, он работает в моей локальной среде только с localhost: 8000 и localhost: 3000.
Есть ли кто-нибудь с такой же проблемой? Ребята, как вы это решаете?
Вот код:
cors.php
code here...
axios-client.js
import axios from 'axios';
import csrfCookie from './csrf-cookie';
const api = axios.create({
baseURL: `${import.meta.env.VITE_API_BASE_URL}/api/v1`,
withCredentials: true,
})
const web = axios.create({
baseURL: `${import.meta.env.VITE_API_BASE_URL}`,
withCredentials: true,
})
const apiBase = `${import.meta.env.VITE_API_BASE_URL}/api/v1`
const webBase = `${import.meta.env.VITE_API_BASE_URL}`
export { api, web, apiBase, webBase };
Код для входа
import { api, web } from "../axios-client"
import csrfCookie from "../csrf-cookie"
await csrfCookie().catch(err => {
code here...
})
await web.post('/sign-in', formData)
.then(async ({ data }) => {
code here...
})
.catch(err => {
code here...
})
}
Подробнее здесь: https://stackoverflow.com/questions/785 ... nd-reactjs