replyTweetサーバーの話じゃなくてコンテンツな話だけど、ウェブサイトへのアクセスについて、分かりづらいかなぁと感じる事があったので、ちょっと調べながらメモってみた。でかい画像とか動画なんかはサーバーへの負荷とかデータの転送量をだいぶ食うので、別のサーバーに分散させて置いてたとします。srcタグなんかで、サーバーBのバイナリのURLを書いたりとかしますね。すると、サーバーAにアクセスしたら、サーバーBのアクセスログにもログは残るというのはイメージできると思いますが、そのアクセス元にはサーバーAのIPアドレスが残るんじゃないかなって思ってたら、それは間違いです。サーバーAにもサーバーBにも同じアクセス元が残るので、実際にログを見てみると。"Firefox"と、こんな風になりまして、アクセス元は同じで、ウェブサイトを見に来た人のIPアドレスがログに残ります(普通は)。サーバーAのIPというかドメインがどうなるかというと、サーバーBのアクセスログにはリファラーとして記録されます。ウェブサイトからの呼び出しのアクセスだけを許したいだとか、直リンクとかを防ぎたい場合はリファラーでアクセス制限をする必要がある。例を出すと、サーバーBのバイナリデータを置いているディレクトリか、その上の階層に拒否のための.htacessなんかを配置する。env=ref_okあるある的な、間違えるかもしれない例として、サーバーBに、サーバーAのIPアドレスだけ許可する設定をしても意味がないということです、ミドルウェアなんかはそういう設定の仕方は多いけど。この辺をちゃんとしていないと、せっかく負荷分散しても、クローラーとかもガンガン来るし、余計なアクセスが起こってしまって、それがまたサーバーへの無駄な負荷になってしまうので気を付けよう。以上のことを踏まえると、なにもサーバーサイドで負荷分散していなくても、htmlテキストの書き方とか、画像や動画のバイナリデータの分散のやりかたで、コンテンツ側だけでも十分に負荷分散は可能だという事だ。最近はPHPとかのプラグインがキャッシュを作って、アクセスを軽くさせるものが多いようだけど、サーバーが積んでるメモリ量とか、メモリを使っている容量を把握して、うまくキャッシュのセットアップしないと、余計に重たくなったりしちゃうかもしれない。SSDなら関係ないけど。HDDの共用サーバーとかだとそういうプラグインで負荷分散するのではなくて、バイナリデータを別のサーバーに置く方が効果は高いかなぁと思う。あと、ちょっと別の話になるけど、他に可能性の問題としてどういう事があるかというと、サーバーAにサーバーBのバイナリを読み込みをするリンクが記述されていた場合は問答無用でブラウザは読み込んでしまうという事で。ウェブアクセスもチェックしているウィルススキャンを入れとかないと、それが悪性のファイルだったりするとウィルスやスパイウェアに感染してしまうわけだね。week.SSG5をいじれる状態まで設定しようAndroidの開発でC++のコードを使うにはHTTP2.0がやってくる?HTTP1.1、HTTP1.0の勉強をしておこうか。fstabの編集をミスったら起動しなくなったさくらのスタンダードサーバーにRailsをインストールしてみる。Comments【Ubuntu】UbuntuServerをコンソールからデスクトップ画面で操作する。さくらの新スタンダードプランのサーバーにRailsを入れて、Redmineをインストールした。for:このブログはさくらのクラウドで動いてます。