recherche

Maison  >  Questions et réponses  >  le corps du texte

node.js - Nginx nodejs exprime un problème de proxy inverse

1. J'ai un programme nodejs développé avec express. Dans l'environnement de test local, j'utilise directement express pour effectuer des ressources statiques et le transfert de routes
2. responsable des ressources statiques.

Question :

Question 1. Après la configuration, j'ai trouvé que les ressources statiques étaient toutes 404, puis j'ai ajouté

dans le fichier de configuration nginx

 location ~ \.(css)$ {
        expires 2d;
    root /app/www/nodejs-blog-demo/public;
    }
    location ~ \.(js)$ {
        expires 2d;
    root /app/www/nodejs-blog-demo/public;
    }

Après cela, je peux au moins accéder aux ressources statiques. Cependant, si mes ressources statiques sont des répertoires à plusieurs niveaux, de telles règles de correspondance seront très compliquées.

Question 2. Mon nginx est configuré avec un proxy inverse, 3000 est nodejs, mais maintenant le traitement/répertoire est accessible, mais mon chemin /admin/aaa affiche 404

    location / {
        proxy_pass              http://127.0.0.1:3000;
        proxy_redirect          off;
        proxy_set_header        X-Real-IP       $remote_addr;
        proxy_set_header        X-Forwarded-For $proxy_add_x_forwarded_for;
    }

Je pense que cela peut être dû au traitement de routage que j'ai effectué avec nodejs, mais je ne sais pas comment le résoudre

Mon routage nodejs est le suivant

module.exports = function (app) {
  app.use('/admin', router);
}

router.get('/aaa', auth.requireLogin, function (req, res, next) {})

Merci.

阿神阿神2811 Il y a quelques jours675

répondre à tous(1)je répondrai

  • 世界只因有你

    世界只因有你2017-06-05 11:13:29

    N'est-il pas très pratique d'utiliser express pour le routage statique ? J'ai récemment migré mon blog local directement vers le serveur. J'utilise toujours express pour mon routage statique

    .
    app.use(express.static(path.join(__dirname, 'public')));

    répondre
    0
  • Annulerrépondre