Header CORS “Access-Control-Allow-Origin” mancante. Codice: 502

di il
0 risposte

Header CORS “Access-Control-Allow-Origin” mancante. Codice: 502

Ho finito di personalizzare la mia VPS in cui ho scaricato la web application per l'Associazione di volontariato in cui dedico il mio tempo.

la VPS funge da reserve proxy dovendo gestire sia il frontend che il backend. Utilizzo il sistema operativo nginx

l'applicazione utilizza Angular come frontend, Nginx come backende e Mysql come database.

Mi viene segnalato come errore Cors "header CORS “Access-Control-Allow-Origin” mancante. Codice di stato: 502" anche se sul file index.js esiste la definizione.

index.js

const express = require('express');
const bodyparser = require('body-parser');
const cors = require('cors');
const mysql = require('mysql2');

// porta per mysql
const ports = process.env.PORT || 3000;   // info relative all'ambiente di esecuzione

global.__basedir = __dirname;  // va aprendere la cartella corrente

// importo la connessione al db
const db = require('./db');
// ---------------------------------------------------  importo le rotte
const authRouter = require('./routers/api/auth');
const userRouter = require('./routers/user');
const userlevelRouter = require('./routers/userlevels');
......   altre tabelle



 var corsOptions = {
  // per ambiente di produzione su Aruba

   origin: "https://bandieragialla.ghisellinimoreno.it",
   credentials: "true",
   methods: "GET, POST, PUT, DELETE, OPTIONS",
   headers: "DNT,User-Agent,X-Requested-With,If-Modified-Since,Cache-Control,Content-Type,Range,Authorization,Origin,Options"
  }; 



const app = express();
// utilizzo i pacchetti
app.use(cors(corsOptions));
app.use(bodyparser.json());
app.use(express.json());
.....  altre tabelle

// -----------------------------------------   utilizzo il router


// ... Va inserito come ultima rotta 
app.use(function(req, res, next){
    //  res.setHeader('Content-Type', 'text/plain');
      res.setHeader('Access-Control-Allow-Origin', '*');
      res.setHeader('Access-Control-Allow-Methods', 'GET, POST, PUT, DELETE, OPTIONS');
      res.setHeader('Access-Control-Allow-Headers', 'Content-Type, Authorization');
  //    res.status(404).send('La pagina non esiste amico!');
 
      next();
    });
   
  // nuova modalità
  app.listen(ports,() => {
    console.log(`Server sta girando sulla porta ${ports} -- credenziali Aruba per invio email`);
  });
  
  console.log('index.js');

db.js


const config = require("./config.json");
const mysql = require('mysql2');

// originale  per sviluppo su localhost

const Sequelize = require('sequelize')
const sequelize = new Sequelize(
    config.database,
    config.user,
    config.password,
  {
    host: config.host,
    dialect: config.dialect,
    operatorsAliases: 0,
    pool: {
      max: config.pool.max,
      min: config.pool.min,
      acquire: config.pool.acquire,
      idle: config.pool.idle
    }
  }
);

let db;

 


//  ambiente di Produzione 


if(process.env.CLEARDB_DATABASE_URL) {
  db = mysql.createConnection(process.env.CLEARDB_DATABASE_URL)
} else {
    db = mysql.createPool({   // mysql.createConnection
      connectionLimit: 100,
      host: config.host,
      user: config.user,
      password: config.password,
      database:config.database,
      port:config.port,
      waitForConnections: true,
      connectionLimit: 10,
      queueLimit: 0,
      debug: false 
 });
}

// Attempt to catch disconnects 
db.on('connection', function (connection) {
  console.log('DB Connection established');

  connection.on('error', function (err) {
    console.error(new Date(), 'MySQL error', err.code);
  });
  connection.on('close', function (err) {
    console.error(new Date(), 'MySQL close', err);
  });

});




// creo connessione a mysql con pool 

let pool;
pool = mysql.createPool({
  connectionLimit: 300,
  host: config.host,
  user: config.user,
  password: config.password,
  database:config.database,
  port:config.port,
  waitForConnections: true,  //  inizio integrazione di Hidran
  connectionLimit: 10,
  queueLimit: 0,
  idleTimeout: 10000 // Connessioni inattive vengono chiuse dopo 10 secondi
});

// --------------------------------------------------------------------------------   fine ambiente di Produzione EC2




db.Sequelize = Sequelize;
db.sequelize = sequelize;


// model di tutte le tabelle utilizzate

db.user = require("./models/user.js")(sequelize, Sequelize);
db.socio = require("./models/socio.js")(sequelize, Sequelize);
db.userlevel = require("./models/userlevel.js")(sequelize, Sequelize);
..... altre tabelle

module.exports = db;

va in errore header CORS “Access-Control-Allow-Origin” mancante. Codice di stato: 502  anche se il parametro in index.js è stato inserito.

cosa manca o casa è stato scritto in maniera errata ?

grazie

Moreno

Devi accedere o registrarti per scrivere nel forum
0 risposte