Я использую узел с экспресс и паспортными данными, чтобы ограничить доступ к файлам, расположенным в личной папке. Я сократил свой код до следующего. Все в общедоступной статической папке работает отлично, но маршрут, нацеленный на частную папку с помощью 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
Я мог бы поклясться, что у меня это работало раньше, может быть, это было сломано в новой версии чего-то.