
Amazon S3をちょいちょい使っているんですが、
レスポンスヘッダーをファイル1つずつ付けなきゃいけないんですかね?
特に、Cache-Controlのヘッダーを付けたい時に、ファイル1つずつはちょっと・・・
と、思ったので、node-http-proxyに任せて
Cache-Controlをレスポンスヘッダーに上書きしておきました。
ちなみに、S3のファイルにはリファラー制限が掛かっているので、
そのままではアクセスは出来ません。
で、node-http-proxyでレスポンスヘッダーを上書きする方法ですが、
var http = require('http-proxy');
var options = {
router : {
's3.shonanshachu.com' : '[bucket-name].s3-website-ap-northeast-1.amazonaws.com',
'shonanshachu.com' : 'localhost:10001',
'www.shonanshachu.com' : 'localhost:10001',
}
}
logging = function() {
return function(req, res, next) {
// Cache Control for CDN
if(req.headers.host == 's3.shonanshachu.com') {
res.setHeader('Cache-Control', 'public,max-age=604800');
}
next();
}
}
var proxy = http.createServer(logging(), options);
proxy.listen(80);
と、まぁ、こんな感じで、http-proxyの設定をしております。
staticのファイルは適当にs3へ移動させつづ、cacheも効かせて良い感じです。
が、レスポンス速度はあんまり期待出来無いです。
SyntaxHighlighterとか、たまにCDNがダウンしてる事があったので、
ソースをS3へ移動させちゃいました。
0 件のコメント:
コメントを投稿