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 件のコメント:
コメントを投稿