Mi chiamo Moreno e ho sviluppato, per un'associazione non profit di Rovigo, una web application sviluppata per il frontend in Angular, per il backend in nodejs e con mysql come database. Ho finito la fase iniziale di sviluppo e ho deployato l'applicazione su Amazon AWS.
Quando imposto sul browser l'url dellapplicazione mi va in errore CORS del tipo header CORS “Access-Control-Allow-Origin” mancante. Codice di stato: 502. Credo di essere vicino alla fase di prepazzia, perchè non so come risolvere il problema.
Ho definito in index.js i parametri in corsOptions dove indico espressamente l'origine
riporto il file index.js
Codice: Seleziona tutto
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 || 3001; // 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 corsOptions = {
origin: "https://bandieragialla.ghisellinimoreno.it",
credentials: true,
methods: "GET, POST, PUT, DELETE, OPTIONS",
allowedHeaders: "DNT,User-Agent,X-Requested-With,If-Modified-Since,Cache-Control,Content-Type,Range,Authorization,Origin,Options",
// origin: "http://localhost:4200"
};
const app = express();
// utilizzo i pacchetti
app.use(cors(corsOptions));
app.use(bodyparser.json());
app.use(express.json());
// ----------------------------------------- utilizzo il router
app.use('/api/auth', authRouter);
app.use('/users', userRouter);
app.use('/userlevel', userlevelRouter);
app.use('/socio', socioRouter);
// ----------------------------------------- in uso - ho connessione down
app.use(function(req, res, next){
res.setHeader('Content-Type', 'text/plain');
res.setHeader('Access-Control-Allow-Origin', 'https://bandieragialla.ghisellinimoreno.it');
res.setHeader('Access-Control-Allow-Methods', 'GET, POST, PUT, DELETE');
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 aws ses per invio email`);
});
console.log('index.js');
Avete mai avuto situazioni di questo genre con deploy fatto su AWS Amazon ?
Resto a disposizione per eventuali altri chiarimenti.
grazie
Moreno
