170 похожих чатов

Ребзя, хеллоу! Помогите пожалуйста с решением следующей пробемы: создал апишку на express'e,

залил на хост, домен, nginx вся фигня.

Через постман пробиваю эндпоинт - все гуд, все работает.
Добавил Access cors в nginx, но все равно не работает (

Фронт (react) говорит что ему выдает ошибку CORS

Access to fetch at 'https://domain/newlink' from origin 'http://localhost:3000' has been blocked by CORS policy: Response to preflight request doesn't pass access control check: No 'Access-Control-Allow-Origin' header is present on the requested resource. If an opaque response serves your needs, set the request's mode to 'no-cors' to fetch the resource with CORS disabled.

Подскажите пожалуйста как пофиксить данную проблему?

nginx config:
server{
server_name domain;
location / {
proxy_pass http://localhost:5000;
proxy_http_version 1.1;
proxy_set_header Upgrade $http_upgrade;
proxy_set_header Connection 'upgrade';
proxy_set_header Host $host;
proxy_cache_bypass $http_upgrade;
}


add_header Access-Control-Allow-Origin *;
add_header Access-Control-Max-Age 3600;
add_header Access-Control-Expose-Headers Content-Length;
add_header Access-Control-Allow-Headers Range;

listen 443 ssl; # managed by Certbot
ssl_certificate /etc/letsencrypt/live/api.donat.link/fullchain.pem; # managed by Certbot
ssl_certificate_key /etc/letsencrypt/live/api.donat.link/privkey.pem; # managed by Certbot
include /etc/letsencrypt/options-ssl-nginx.conf; # managed by Certbot
ssl_dhparam /etc/letsencrypt/ssl-dhparams.pem; # managed by Certbot

}
server{
if ($host = domain) {
return 301 https://$host$request_uri;
} # managed by Certbot


listen 80;
server_name domain;
return 404; # managed by Certbot


}

index.js:

const express = require('express');
const router = require('./router');
const bodyParser = require('body-parser');
const cors = require('cors')
let urlEncodedParser = bodyParser.urlencoded({extended: true});

class Server{
constructor(port) {
this.app = express();
this.port = port;
this.app.use(urlEncodedParser);
this.app.use(bodyParser.json());
this.app.use(router);
this.app.use(cors());
}

start(){
this.app.listen(this.port, (err) => {
if(err){
console.log(err);
throw err;
}
else{
console.log(`Server is running at ${this.port} port. `);
}
})
}
}

const server = new Server(5000);
server.start();

1 ответов

5 просмотров

if ($request_method = 'OPTIONS') { add_header 'Access-Control-Allow-Credentials' 'true'; add_header 'Access-Control-Allow-Origin' $http_origin; add_header 'Access-Control-Allow-Methods' 'GET, POST, PATCH, OPTIONS, DELETE, PUT'; add_header 'Access-Control-Allow-Headers' 'DNT,User-Agent,X-Requested-With,If-Modified-Since,Cache-Control,Content-Type,Range, Authorization'; add_header 'Access-Control-Max-Age' 1728000; add_header 'Content-Type' 'text/plain; charset=utf-8'; add_header 'Content-Length' 0; return 204; }

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

Обсуждают сегодня

я не магистр хаскеля, но разве не может лейзи тип конвертнуться в не-лейзи запросив вычисление содержимого прям при инициализации?
deadgnom32 λ madao
100
Всем привет! Массив вводится с клавиатуры, кол-во элементов неизвестно, поэтому я указал arr db 100 dup(?) С нахождением максимума проблем нет, а вот минимум почему-то всегд...
En Vind Av Sorg
11
в сях есть множество как в питоне? для удаление дубликатов
Linus
25
читать файл максимально быстро? странный вопрос))
zamtmn
53
Кто создает тут ботов для телеграмм групп ?
Antskup
8
а как бы вылезти из ИО, что то типа IO -> Ether или в какую сторону смотреть ? что то туплю
Fedor
14
Вроде бы вопрос уже заезжанный, но тем не менее У меня есть функция menu() которая выводит набор возможных действий, а затем спрашивает у пользователя что он хотел бы сделать....
David Golovatin
2
Я хочу запустить свой проект в тг. Что-то между пирамидой и майнилкой. Еще подобного ничего не было. Уникальная идея. Нужен именно не бот, а приложение. С ввод, выводом тон...
Павел А.
6
а зачем этот вопрос для удаления из чата?
Mёdkinson Medvezhkin
63
тоесть, указав return eax, сгенерируется никому ненужная инструкция mov eax,eax ?
Aiwan \ (•◡•) / _bot
24
Карта сайта