Prynik
@Prynik

Запрос из постороннего источника заблокирован: Политика одного источника запрещает чтение удаленного ресурса?

С клиента делается GET запрос (через axios) на URL https://mysite.me:5000/api/v1/form?arg=1

Сервер формирует ответ
const express = require('express')
const mongoose = require('mongoose')

const app = express()

const PORT = 5000

app.get('/api/v1/form', (req, res) => {
    res.header('Access-Control-Allow-Origin', '*')
    res.header("Access-Control-Allow-Methods", "GET, POST, PUT, DELETE")
    res.header("Access-Control-Allow-Headers", "Origin, X-Requested-With, Content-Type, Accept")
    res.end()
})

app.listen(PORT, err => {
    err ? console.log(err) : console.log(`[Server] started on port ${PORT}`)
})


Но браузер блокирует запрос из-за отсутствия заголовка Access-Control-Allow-Origin

С чем это может быть связано?
  • Вопрос задан
  • 16605 просмотров
Решения вопроса 1
Prynik
@Prynik Автор вопроса
Как и сказал Lynn «Кофеман» , дело было в том, что я не настроил https сервер ноды. Преобразовал код к следующему виду и проблема была решена.

const fs = require('fs')
const https = require('https')

const privateKey  = fs.readFileSync('./ssl/server.key', 'utf8');
const certificate = fs.readFileSync('./ssl/server.crt', 'utf8');

const credentials = {key: privateKey, cert: certificate}
const app = express()

const PORT = 5000

app.get('/api/v1/assistant-form', (req, res) => {
    res.header('Access-Control-Allow-Origin', '*')
    res.header("Access-Control-Allow-Methods", "GET, POST, PUT, DELETE")
    res.header("Access-Control-Allow-Headers", "Origin, X-Requested-With, Content-Type, Accept")
    res.end()
})

const httpsServer = https.createServer(credentials, app)

httpsServer.listen(PORT)
Ответ написан
Комментировать
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы