どどんとふ、直りました。
いや、これ、直ったって言っていいのかな。
エラーメッセージがね、「400:おかしなヘッダメッセージ送りつけてくるんじゃねーよ」(意訳)というもので、ググったら、普通はクライアントのブラウザ側に原因のあるエラーだそうです。特にchromeでよく起きるとか。
でも、このエラー、どのコンピュータやタブレットからアクセスしても出る。どう考えてもブラウザの責任ではない。
ちと考え込んで、ハタと気が付きました。あ、そういや、リバースプロシキ使ってたっけと。
ちと専門的になりますが、解説しますと。
世に言うサーバは、サーバーマシンたるコンピュータのうえでサーバプログラムが動いてます。で、リクエストがあると、必要な情報を送り返す。それがサーバです。ファイルを送り返すならファイルサーバ、webページデータを送り返すならwebサーバ、コーヒーを送り返すならコーヒーサーバ。
どどんとふや、このブログは当然webなので、webサーバ(もっと正確に言うとhttpサーバ)上で動いています。
で、うちのブログはnginxというhttpサーバが配信してますが、どどんとふは、いったんnginxが受けとったあと、apacheという別のhttpサーバ上で動いています。
なんでこんなめんどうくさいことをしているかというと。
nginxは速いわ軽いわ、メモリ食わないわ、CPUパワーも喰わないわ、設定ファイルは見やすいわでいいことづくめのサーバプログラムですが、たったひとつ欠点がありまして。CGI(ここではサーバ上で動くプログラムと解釈してもらって結構)が遅いのです。もともと静的コンテンツ配信用なので。
特にRubyとの相性が最悪なのですが、どどんとふはこのRuby(とフラッシュ)で書かれているんですよ。
で、苦手なCGIの処理はapacheという、昔から使われていて、動作も安定し大抵のCGIも簡単な設定でそれなりの速度で動くサーバプログラムに渡してやってもらっているわけです。リバースプロクシというヤツです。
というわけで、どどんとふに関しては二段構えのサーバプログラムでやっているわけですが、どうも、このnginxからapacheにリクエストを渡すときにつけるヘッダコードがなんか間違っているみたいでして。おかしいな、この間まではこのコードで動いていたような気がするんだが。
で一生懸命、web上の情報とか、参考書籍とかを調べて書き換えたのだけど、上手く行かない。
で、めんどうくさいんで、全部削ってしまいました。
そしたら動いた。
いや、そうすれば動くことは動くってことはわかっていたのですが。以前はつけて無くて動いていたんだから。
でもapache側から見ると、クライアントは常にnginxで、誰が本当のリクエストを出しているのかはわからない状態。つまりapacheのエラーログ、アクセスログはまるっきり無意味状態。
まあ、運用に問題はないんですがね。アクセス制限はパスワードでやっているから。
というわけで、微妙に居心地の悪い状態ですが、どどんとふが復旧したわけです。これでオンセができる~。
コメントする