首页  >  问答  >  正文

node.js - nginx nodejs express反向代理问题

1.我有一个nodejs程序,使用express开发,在本地测试环境是直接使用express做静态资源和路由转发的
2.现在迁移到生产环境,有nginx 做反向代理,负责静态资源

问题:

问题1.配置好之后我发现静态资源都是404,然后我在nginx的配置文件里面加了

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

之后,起码可以访问静态资源了,但是如果我的静态资源是多级目录的话,这样的匹配规则会很繁复,请问大家是怎么处理的呢?

问题2.我的nginx是这么配的反向代理,3000是nodejs,不过现在处理/目录可以访问,但是我的/admin/aaa这样的路径就提示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;
    }

我想可能是我是用nodejs做的路由处理导致的,但是不明白怎么解决

我的nodejs路由如下

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

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

谢谢.

阿神阿神2716 天前614

全部回复(1)我来回复

  • 世界只因有你

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

    express做静态路由不是很方便的吗,我最近也是直接把本地博客迁移到了服务器上,我的静态路由还是用的express

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

    回复
    0
  • 取消回复