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) {})
謝謝.
世界只因有你2017-06-05 11:13:29
express做靜態路由不是很方便的嗎,我最近也是直接把本地博客遷移到了伺服器上,我的靜態路由還是用的express
app.use(express.static(path.join(__dirname, 'public')));