Используя фреймворк Express для node.js, я пытаюсь обслуживать статические файлы, содержащиеся в каталоге, а также ставить на него базовую аутентификацию. Когда я это сделаю, мне будет предложено ввести имя пользователя и пароль (как и ожидалось), но после того, как я их правильно введю, мне дается 404. Если я удалю проверку подлинности и покажусь в том же каталоге, я действительно получаю страницы содержащихся в нем.
Здесь быстрый сервер, который я взломал как доказательство концепции:
var express = require('express');
var app = express();
var auth = express.basicAuth(function(user,pass) {
return 'user' === user && 'pass' === pass;
});
app.use('/admin', auth, express.static(__dirname + '/admin'));
app.use('/adminNoAuth', express.static(__dirname + '/admin'));
app.listen(8082);
Когда я нажимаю localhost:8082/admin
, я получаю имя пользователя/пароль, затем 404. Когда я нажимаю localhost:8082/adminNoAuth
, он обслуживает страницу.
Я использую Express 3.4.7 и node.js 0.10.22.