我正在使用带有 express 和 passportjs 的节点来限制对位于私有文件夹中的文件的访问。我已将我的代码减少到以下内容。公共静态文件夹中的所有内容都运行良好,但通过使用 staticMiddleware 定位私有文件夹的路由返回 404 错误。
var express = require('express')
, util = require('util');
var app = express.createServer();
var staticMiddleware = express.static(__dirname + '/private');
app.configure(function() {
app.use(app.router);
app.use(express.logger('dev'));
app.use('/public',express.static(__dirname + '/public'));
});
app.get('/private/:file', function(req, res, next){
console.log('about to send restricted file '+ req.params.file);
staticMiddleware(req, res, next);
});
app.listen(16000);
我正在使用以下似乎对其他人有用的参考资料,所以我一定遗漏了一些东西。它不适用于我只显示位于私人区域的内容的 404 响应。
NodeJS 不会提供静态文件,即使使用 express.static
我可以发誓我以前有这个工作,也许它在某个新版本中被破坏了。
- 节点 v0.8.1
- npm 1.1.12
- 快递@2.5.11
- 连接@1.9.2