Как настроить сервер или как правильно сделать межсайтовый запрос?

Всем привет друзья, у меня возникла проблема, я купил vps, там развернул nginx, сделал node js приложение на express. Когда я делаю post или get запрос через postman все работает отлично, но когда делаю запрос через axios, сразу падает в ошибку, перепробовал много вариантов, не чего не помогает, подскажите как пофиксить

тут прикладываю код сервера на ноде:
import express from 'express'
import jwt from 'jsonwebtoken'
import mysql from 'mysql2/promise'
import {validationResult} from "express-validator";
import bcrypt from 'bcrypt'

import {registerValidator} from './validations/auth.js'

const app = express()
app.use(express.json())

app.get('/', (req, res) => {
    res.send('Hello world!')
})

app.post('/auth/login' , (req, res) => {

    const token = jwt.sign(
        {
        email: req.body.email,
        fullName: 'вася Пупкин'
        },
        '4hdrdw62'
    )

    res.set({
        'Access-Control-Allow-Origin' : '*',
        'Access-Control-Allow-Methods' : 'GET, PUT, POST, DELETE',
        'Access-Control-Allow-Headers': 'Origin, X-Requested-With, Content-Type, Accept',
        'Access-Control-Allow-Credentials': true
    })

    res.json({
        success: true,
        token: token,
        test : true
    })
})

app.get('/test', (req, res) => {
    res.json({
        good: true
    })
})

app.listen(4444, (err) => {
    if(err) {
        return console.log(err)
    }

    console.log('Server OK')
})


Тут код где я делаю запрос к серверу на сервере, если что пробовал и на локалке, и на хостинге
axios({
    url: 'http://api.test.brepex.ru/auth/login',
    method: 'post',
    data: {
        "email" : "test@gmail.com",
        "fullName" : "Dmitry",
        "password" : "54ghtfhfhr"
    }
}).then((res) => {
    console.log(res)
})


конфигурация nginx default


GNU nano 6.2 /etc/nginx/sites-available/default *
# include snippets/snakeoil.conf;

root /var/www/html;

# Add index.php to the list if you are using PHP
index index.html index.htm index.nginx-debian.html;

server_name api.test.brepex.ru;

location / {
proxy_pass localhost:4444;
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;
}

# pass PHP scripts to FastCGI server
  • Вопрос задан
  • 161 просмотр
Решения вопроса 1
SilenceOfWinter
@SilenceOfWinter
та еще зажигалка...
значит проблема в axios - добавь в его конфиг crossDomain: true, напрямую запрос отправляется без проблем.
Ответ написан
Пригласить эксперта
Ваш ответ на вопрос

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

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