Я пытаюсь развернуть реагирующее приложение на сервере.
Когда мое развернутое приложение пытается выполнить вызов API на том же сервере, оно получает следующую ошибку:
Cross-Origin Request Blocked: The Same Origin Policy disallows reading the remote resource at http://localhost:3045/login. (Reason: CORS header ‘Access-Control-Allow-Origin’ does not match ‘http://xxx.xxx.x.xx:5000’).
Пакет. В файле json указан прокси-сервер:
"proxy": "http://localhost:3045",
А вот мой вызов API:
fetch('/login',
{
method: 'POST',
credentials: 'include',
headers: {
'Content-Type': 'application/json',
},
body: JSON.stringify({
password
})
})).json()
Что меня смутило еще больше, когда я обслуживал сайт с удаленного сервера, обращался к нему со своего локального компьютера и имел серверная часть обслуживалась на моей локальной машине, сайт делал вызовы на свой собственный локальный порт (успешно, как только я заметил, что происходит, и изменил источник конфигурации cors на ip удаленного сервера для тестирования), и получил доступ к обслуживаемому API с моего локального компьютера, а не на его (удаленный сервер развертывания) собственный локальный порт.
Моя конфигурация cors на удаленном сервере api:
app.use(
cors({
origin: 'http://localhost:5000',
credentials: true,
}),
Какие изменения мне нужно внести так что мой сайт делает вызовы API для своих локальных портов вместо клиентов?