Partage
  • Partager sur Facebook
  • Partager sur Twitter

Vue Js + NodeJs Express + Nginx

Connexion au backend NodeJs impossible

    30 mars 2023 à 13:10:08

    Bonjour,

    J'ai nouvellement créé un site avec VueJS en front et Node JS Express en back. En développement tout fonctionne. Mais une fois en ligne, le back n'est pas accessible. On voit bien que cela charge bien quelque chose puisque je n'ai pas d'erreur, j'ai uniquement "Impossible de se connecter car la page a mis trop de temps pour répondre".

    Au lancement de node, aucune erreur ne s'affiche le serveur se lance bien.

    Donc je pense que cela provient de Nginx qui est sûrement mal configuré. Or, je suis assez novice avec ce système.

    Voici ce que j'ai fait comme configuration :

    upstream api {
      server 127.0.0.1:3000;
    }
    
    server {
      server_name dreamwebplatform.com www.dreamwebplatform.com;
      root /var/www/dreamweb;
    
      location / {
            index  index.html index.htm;
            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;
            proxy_set_header X-Real-Ip $remote_addr;
            proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
            proxy_set_header X-Forwarded-Proto $scheme;
            try_files $uri $uri/ /index.html;
      }
      location /api {
            proxy_pass http://api;
            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;
            proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
            proxy_set_header X-Forwarded-Proto $scheme;
            proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
            proxy_set_header X-Forwarded-Proto $scheme;
      }
    
        listen 443 ssl; # managed by Certbot
        ssl_certificate /etc/letsencrypt/live/dreamwebplatform.com/fullchain.pem; # managed by Certbot
        ssl_certificate_key /etc/letsencrypt/live/dreamwebplatform.com/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 = www.dreamwebplatform.com) {
            return 301 https://$host$request_uri;
        } # managed by Certbot
    
    
        if ($host = dreamwebplatform.com) {
            return 301 https://$host$request_uri;
        } # managed by Certbot
    
    
      listen 80;
      server_name dreamwebplatform.com www.dreamwebplatform.com;
        return 404; # managed by Certbot
    
    
    
    
    }
    


    Pour le fichier index.js de Node Js :

    const express = require('express')
    const app = express()
    const cors = require('cors')
    const bodyParser = require('body-parser')
    const dotenv = require('dotenv')
    const db = require('./models/index.js')
    const i18n = require('i18n')
    const ws = require('ws')
    const uuid = require('uuid')
    const url = require('url')
    const cron = require('node-cron')
    const fs = require('fs')
    const EmailSender = require('./config/email.js')
    const Flux = require('./config/flux.js')
    
    // Config
    dotenv.config()
    
    i18n.configure({
      locales: ['fr', 'en'],
      directory: './lang',
      defaultLocale: 'fr',
      queryParameter: 'l',
      objectNotation: true
    })
    
    app.use(cors())
    
    app.use(bodyParser.json())
    app.use(bodyParser.urlencoded({
      extended: true
    }))
    app.use(i18n.init)
    
    // Base de données
    db.sequelize.sync().then(() => {
      console.log("Bdd synchronisé.")
    }).catch((e) => {
      console.log('Erreur de synchronisation de la bdd: ', e.message)
    })
    // Routes
    app.use('/membre', require('./route/membre/index.js'))
    app.use('/projet', require('./route/projet/index.js'))
    
    
    // Lancement
    app.listen(3000, () => {
      console.log('Lancement du serveur')
    })
    

    J'ai cherché un peu partout et essayer différente configuration mais là je suis perdu.

    -
    Edité par Foggy748 30 mars 2023 à 13:12:23

    • Partager sur Facebook
    • Partager sur Twitter

    Vue Js + NodeJs Express + Nginx

    × Après avoir cliqué sur "Répondre" vous serez invité à vous connecter pour que votre message soit publié.
    × Attention, ce sujet est très ancien. Le déterrer n'est pas forcément approprié. Nous te conseillons de créer un nouveau sujet pour poser ta question.
    • Editeur
    • Markdown