Errore su nginx -- errore in connessione

di il
5 risposte

Errore su nginx -- errore in connessione

Ho effettuato il deply della web application su aruba.

 Il server linux ubuntu 22.04 viene usato come reserve proxy.

dopo aver fatto il deploy su backend/frontend, alla form di login, va in errore di tipo CORS, ma probabilmente non dovuto a problemi cors, ma a un problema di connessine mysql.

il log mi visualizza questa situazione:

	2025/01/12 00:41:40 [error] 982272#982272: *14455 connect() failed (111: Unknown error) while connecting to upstream, client: 209.38.249.138, server: api.ghisellinimoreno.it, request: "GET /.env HTTP/1.1", upstream: "http://127.0.0.1:3000/.env", host: "195.231.76.57"
2025/01/12 00:47:40 [error] 982272#982272: *14461 connect() failed (111: Unknown error) while connecting to upstream, client: 84.31.85.79, server: api.ghisellinimoreno.it, request: "GET / HTTP/1.1", upstream: "http://127.0.0.1:3000/", host: "195.231.76.57:443"
2025/01/12 00:53:09 [error] 982272#982272: *14465 connect() failed (111: Unknown error) while connecting to upstream, client: 18.189.29.17, server: api.ghisellinimoreno.it, request: "GET / HTTP/1.1", upstream: "http://127.0.0.1:3000/", host: "195.231.76.57"
2025/01/12 01:31:13 [error] 982272#982272: *14469 connect() failed (111: Unknown error) while connecting to upstream, client: 185.242.226.70, server: api.ghisellinimoreno.it, request: "GET / HTTP/1.1", upstream: "http://127.0.0.1:3000/", host: "195.231.76.57"
2025/01/12 02:53:36 [error] 982272#982272: *14476 connect() failed (111: Unknown error) while connecting to upstream, client: 185.242.226.70, server: api.ghisellinimoreno.it, request: "GET / HTTP/1.1", upstream: "http://127.0.0.1:3000/", host: "195.231.76.57"
2025/01/12 03:35:50 [error] 982272#982272: *14491 connect() failed (111: Unknown error) while connecting to upstream, client: 185.242.226.70, server: api.ghisellinimoreno.it, request: "GET / HTTP/1.1", upstream: "http://127.0.0.1:3000/", host: "195.231.76.57"
2025/01/12 04:06:44 [error] 982272#982272: *14495 connect() failed (111: Unknown error) while connecting to upstream, client: 74.82.47.4, server: api.ghisellinimoreno.it, request: "GET / HTTP/1.1", upstream: "http://127.0.0.1:3000/", host: "195.231.76.57"
2025/01/12 04:10:52 [error] 982272#982272: *14499 connect() failed (111: Unknown error) while connecting to upstream, client: 74.82.47.4, server: api.ghisellinimoreno.it, request: "GET /webui/ HTTP/1.1", upstream: "http://127.0.0.1:3000/webui/", host: "195.231.76.57"
2025/01/12 04:12:31 [crit] 982272#982272: *14511 SSL_do_handshake() failed (SSL: error:0A00006C:SSL routines::bad key share) while SSL handshaking, client: 74.82.47.4, server: 0.0.0.0:443
2025/01/12 04:13:46 [error] 982272#982272: *14512 connect() failed (111: Unknown error) while connecting to upstream, client: 74.82.47.4, server: api.ghisellinimoreno.it, request: "GET /favicon.ico HTTP/1.1", upstream: "http://127.0.0.1:3000/favicon.ico", host: "195.231.76.57"
2025/01/12 04:15:22 [error] 982272#982272: *14514 connect() failed (111: Unknown error) while connecting to upstream, client: 74.82.47.4, server: api.ghisellinimoreno.it, request: "GET / HTTP/1.1", upstream: "http://127.0.0.1:3000/", host: "195.231.76.57"
2025/01/12 04:19:18 [error] 982272#982272: *14516 connect() failed (111: Unknown error) while connecting to upstream, client: 74.82.47.4, server: api.ghisellinimoreno.it, request: "GET /geoserver/web/ HTTP/1.1", upstream: "http://127.0.0.1:3000/geoserver/web/", host: "195.231.76.57"
2025/01/12 04:20:47 [error] 982272#982272: *14520 connect() failed (111: Unknown error) while connecting to upstream, client: 8.222.192.1, server: api.ghisellinimoreno.it, request: "POST /hello.world?%ADd+allow_url_include%3d1+%ADd+auto_prepend_file%3dphp://input HTTP/1.1", upstream: "http://127.0.0.1:3000/hello.world?%ADd+allow_url_include%3d1+%ADd+auto_prepend_file%3dphp://input", host: "195.231.76.57:443"
....   segue

Come posso capire il problema ?

sono necessari i file index.js e db.js per vedere i parametri di connessione ?

a phpmyadmin accedo tranquillamente

grazie

Moreno

5 Risposte

  • Re: Errore su nginx -- errore in connessione

    Ho provato a fare una chiamata via postman

    Non so come risalire all'errore.

    grazie

    Moreno

  • Re: Errore su nginx -- errore in connessione

    Penso di aver scoperto il motivo di quell'errore di connesione a Mysql.

    Su ambiente Aruba occorre acquistare separatamente un db Mysql e inserire i parametri username e password per accedere.

    Bisogna poi inserire sul file backend (dove ho i parametri del server di backend)  in  /etc/nginx/sites-available/ i parametri  

    server {
            root /var/www/backend/html;
    
            server_name api.ghisellinimoreno.it;
    
            location / {
                # reserve proxy
                proxy_pass http://localhost:3000;
                proxy_http_version 1.1;
                proxy_set_header Upgrade $http_upgrade;
                proxy_set_header Connection 'upgrade';
                proxy_set_header Host $host;
                proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
                proxy_set_header X-Forwarded-Host $host:$server_port;
                proxy_cache_bypass $http_upgrade;
    
            }
    
    
    
    
    
        listen 443 ssl; # managed by Certbot
        ssl_certificate /etc/letsencrypt/live/api.ghisellinimoreno.it/fullchain.pem; # managed by Certbot
        ssl_certificate_key /etc/letsencrypt/live/api.ghisellinimoreno.it/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 = api.ghisellinimoreno.it) {
            return 301 https://$host$request_uri;
        } # managed by Certbot
    
    
    
            listen 80;
    
            server_name api.ghisellinimoreno.it;
        return 404; # managed by Certbot
    
    
    }
    
    

    al posto di http://locaalhost:3000  l'indirizzo ip assegnato a mysql.

    Non so se ho capito correttamente.

    Qualcuno ha esperienza in merito a come poter configurare correttamente su Aruba, il database Mysql per attivare la connessione a una web Application ?

    Grazie

    Moreno

  • Re: Errore su nginx -- errore in connessione

    14/01/2025 - morenog ha scritto:

    Qualcuno ha esperienza in merito a come poter configurare correttamente su Aruba, il database Mysql per attivare la connessione a una web Application ?

    Nella documentazione fornita dalla stessa Aruba trovi tutti i parametri da specificare per accedere al database tramite PHP, ASP.NET o altro.

  • Re: Errore su nginx -- errore in connessione

    Ciao Alka

    Grazie per il tuo contributo.

    Ho seguito tutte le guide Aruba su come utilizzare Mysql remoto, ma non ne vengo fuori.

    Ho trovato un post in internet che sembra rispecchiare la mia problematica.

    https://stackoverflow.com/questions/19112744/cannot-connect-to-database-by-remote-server

    Ne possiamo parlare per vedere se può aiutarmi ?

    possono necessitare il file di configurazione di mysql ( mysqld.cnf ) che ho su /etc/mysql/mysqld.conf.d  ?

    Grazie

    Moreno

  • Re: Errore su nginx -- errore in connessione

    Grazie a Alka per il contributo.

    Ora riesco da Postman a fare una chiamata alle tabelle.

    Sono riuscito a superare il problemaa, ma ora, probabilmente per qualche altro parametro di configurazione va in errore.

    Richiamando la web application da browser, va in errore cors del tipo

    Motivo: header CORS “Access-Control-Allow-Origin” multipli non consentiti.

    i parametri Cors su index.js sono :

    const express = require('express');
    const bodyparser = require('body-parser');
    const cors = require('cors');
    const mysql = require('mysql2');
    const app = express();
    const port = 4200;
    
    // 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');
    const socioRouter = require('./routers/socio');
    
     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"
    
      }; 
    
    
    
    // utilizzo i pacchetti
    app.use(cors(corsOptions));
    app.use(bodyparser.json());
    app.use(express.json());
    
    // ... 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.setHeader('Access-Control-Allow-Credentials', true);
      //    res.status(404).send('La pagina non esiste amico!');
     
          next();
        });
      
      app.listen(ports,() => {
        console.log(`Server sta girando sulla porta ${ports} -- credenziali Aruba per invio email`);
      });
      
      console.log('index.js');
    

    la definizione del backend su /etc/nginx/sites-available  nel file backend

    server {
            root /var/www/backend/html;
    
            server_name api.ghisellinimoreno.it;
    
            location / {
                # reserve proxy
                proxy_pass http://127.0.0.1:3000;
                proxy_http_version 1.1;
                proxy_set_header Upgrade $http_upgrade;
                proxy_set_header Connection 'upgrade';
                proxy_set_header Host $host;
                proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
                proxy_set_header X-Forwarded-Host $host:$server_port;
                proxy_cache_bypass $http_upgrade;
    
              add_header 'Access-Control-Allow-Origin' '*';
              add_header 'Access-Control-Allow-Credentials' 'true';
              add_header 'Access-Control-Allow-Headers' 'Authorization,Accept,Origin,DNT,X-CustomHeader,Keep-Alive,User-Agent,X-Requested-With,If-Modified-Since,Cache-Control,Content-Type,Cont>
              add_header 'Access-Control-Allow-Methods' 'GET,POST,OPTIONS,PUT,DELETE,PATCH';
    
    
            }
    
        listen 443 ssl; # managed by Certbot
        ssl_certificate /etc/letsencrypt/live/api.ghisellinimoreno.it/fullchain.pem; # managed by Certbot
        ssl_certificate_key /etc/letsencrypt/live/api.ghisellinimoreno.it/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 = api.ghisellinimoreno.it) {
            return 301 https://$host$request_uri;
        } # managed by Certbot
    
            listen 80;
    
            server_name api.ghisellinimoreno.it;
        return 404; # managed by Certbot
    
    }
    

    Ci sono delle incongruenze o delle mancanze su queste definizioni che possano portare a quel tipo di errore ?

    Grazie

    Moreno

Devi accedere o registrarti per scrivere nel forum
5 risposte