Использование промежуточного ПО express.static на авторизованном маршруте

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

Я мог бы поклясться, что у меня это работало раньше, может быть, это было сломано в новой версии чего-то.

  • Узел v0.8.1
  • нпм 1.1.12
  • экспресс@2.5.11
  • подключение@1.9.2

13
задан Community 23 May 2017 в 12:25
поделиться