搜尋

首頁  >  問答  >  主體

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) {})

謝謝.

阿神阿神2732 天前627

全部回覆(1)我來回復

  • 世界只因有你

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

    express做靜態路由不是很方便的嗎,我最近也是直接把本地博客遷移到了伺服器上,我的靜態路由還是用的express

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

    回覆
    0
  • 取消回覆