プライベートフォルダーにあるファイルへのアクセスを制限するために、expressとpassportjsでノードを使用しています。コードを次のように減らしました。public 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 応答のみを表示するのはうまくいきません。
Express.static を使用している場合でも、NodeJS は静的ファイルを提供しません。
以前はこれが機能していたと断言できたかもしれませんが、何かの新しいバージョンで壊れていたのかもしれません。
- ノード v0.8.1
- npm 1.1.12
- express@2.5.11
- connect@1.9.2