Я использую node с 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 ответов на контент, расположенный в частной области.
Node.js статические ресурсы, специфичные для модуля
NodeJS не будет обслуживать статические файлы, даже при использовании express.static
Перенаправление на статический файл в express.js
Я мог бы поклясться, что у меня было это раньше, возможно, оно было сломано в новой версии чего-то.
- Node v0.8.1
- npm 1.1.12
- [email protected]
- [email protected]