本日未明、『「さくらのレンタルサーバ」「さくらのメールボックス」ディスク容量増量 ならびにOSバージョンアップに伴うメンテナンスのお知らせ』が実施されました。 WebサーバのApacheもバージョンアップされ設定ファイルとの不整合により、午前7時前まで当ページにアクセスするとブラウザに表示されずダウンロードが始まるという不具合が、午前7時前に設定ファイルを修正するまで発生しました。
不具合の内容ですが、転送量を減らすため圧縮したファイルを送信する設定が、Apache1.3では動作していましたが、更新したApache2.2ではhtmlファイルがブラウザで表示されずにダウンロードされてしまうようになっておりました。 修正前の設定は.htaccessに、
<IfModule mod_rewrite.c>
RewriteEngine On
RewriteBase /
RewriteCond %{HTTP:Accept-Encoding} gzip
RewriteCond %{REQUEST_FILENAME} "\.(html|css)$"
RewriteCond %{REQUEST_FILENAME} !"\.gz$"
RewriteCond %{REQUEST_FILENAME}.gz -s
RewriteRule .+ %{REQUEST_URI}.gz [L]
</IfModule>
というような感じで、ファイルの種類を示すContent-Typeを明示していないためダウンロードされていたようですが、
<IfModule mod_rewrite.c>
RewriteEngine On
RewriteBase /
RewriteCond %{HTTP:Accept-Encoding} gzip
RewriteCond %{REQUEST_FILENAME} "\.(html|css)$"
RewriteCond %{REQUEST_FILENAME} !"\.gz$"
RewriteCond %{REQUEST_FILENAME}.gz -s
RewriteRule .+ %{REQUEST_URI}.gz [L]
<FilesMatch ".html.gz$">
ForceType text/html
AddEncoding x-gzip .gz
</FilesMatch>
<FilesMatch ".css.gz$">
ForceType text/css
AddEncoding x-gzip .gz
</FilesMatch>
</IfModule>
とContent-Typeを明示するよう修正することでブラウザで表示することができました。
さくらインターネットではApacheのモジュールmod_deflateが使えないため、mod_rewriteでこのような設定で対応していますが、事前に圧縮したファイルを用意しているため、アクセス毎に圧縮しないためCPU使用を抑えることができるので、これはこれで良いのかもしれません。
ちなみに、サーバですが移行前は、CPUが PentiumMでメモリ2GBと結構前のものですが、移行後はXeon E312xxで18GBとかなり良くなったようです。
コメントする
※ コメントは認証されるまで公開されません。ご了承くださいませ。