■ 新しいサーバで read.cgi が正しく動かない問題。

このエントリーをはてなブックマークに追加
210domo2 ◆eoDomo5qoo
今の.htaccess

XBitHack on

AddDefaultCharset Off
mod_gzip_on Yes
mod_gzip_minimum_file_size 300
mod_gzip_maximum_file_size 0
mod_gzip_maximum_inmem_size 1000000
mod_gzip_item_include file \.html$
mod_gzip_item_include file \.cgi$
mod_gzip_item_include mime text/.*
mod_gzip_item_include mime httpd/unix-directory
mod_gzip_item_exclude mime ^image/.*
mod_gzip_dechunk yes
mod_gzip_temp_dir /tmp
mod_gzip_keep_workfiles No
mod_gzip_can_negotiate yes
211 ◆cZfSunOs.U :03/05/13 19:47 ID:GAfAuK7h
read.cgi を PHP にリプレースするのかな? それはともかく......

>>210 まずは......"mod_gzip_xxxxxx"っていう設定を全部消すと
mod_gzip が無効になります.その上で

AddOutputFilterByType DEFLATE text/html text/plain text/css text/xml application/x-javascript

を追加すれば,mod_deflate が有効になるはず.
http://httpd.apache.org/docs-2.0/mod/core.html#addoutputfilterbytype
の Note によれば,

AddType text/plain dat

も追加した方がいいかも.あとはスタティックに圧縮されたファイルを
扱えるように

RewriteEngine on
RewriteCond %{HTTP:Accept-Encoding} gzip [NC]
RewriteCond %{REQUEST_FILENAME}.gz -f
RewriteRule ([^/]+)\.(html|txt|dat)$ $1.$2.gz

RewriteCond %{HTTP:Accept-Encoding} gzip [NC]
RewriteCond %{REQUEST_FILENAME}index.html.gz -f
RewriteRule /?$ index.html.gz

も追加すればとりあえずOkか......
212domo2 ◆eoDomo5qoo :03/05/13 20:03 ID:cscZj8yu
とりあえず

AddOutputFilterByType DEFLATE text/html text/plain text/css text/xml application/x-javascript
AddType text/plain dat

を入れてみた。
deflate で圧縮されてます?
213 ◆cZfSunOs.U :03/05/13 20:20 ID:GAfAuK7h
>>212 圧縮は行われているようです.

>deflate で圧縮されてます?

>>165でも説明しましたが,mod_deflate でも圧縮形式は gzip です.

HTTP/1.1 200 OK
Date: Tue, 13 May 2003 11:13:16 GMT
Server: Apache/2.0.44 (Unix) mod_perl/1.99_07-dev Perl/v5.8.0 mod_ssl/2.0.43 OpenSSL/0.9.6g DAV/2 FrontPage/5.0.2.2624 PHP/4.3.0RC3 mod_gzip/2.0.26.1a
Last-Modified: Tue, 22 Apr 2003 13:27:53 GMT
Vary: Accept-Encoding
Content-Encoding: gzip
Content-Length: 95663
Connection: close
Content-Type: text/html
214名無しさん@お腹いっぱい。:03/05/13 20:27 ID:+pSuLTNo
従来読めなかったような巨大なスレは読めるようになってる?
215domo2 ◆eoDomo5qoo :03/05/13 20:46 ID:cscZj8yu
>>214
読めますね。

うーむ、

DeflateBufferSize 8096
DeflateMemLevel 6
DeflateWindowSize 15

を入れるとエラーになるのはなんでだろう。。
216 ◆cZfSunOs.U :03/05/13 20:52 ID:GAfAuK7h
217domo2 ◆eoDomo5qoo :03/05/13 21:03 ID:cscZj8yu
RewriteEngine on
RewriteCond %{HTTP:Accept-Encoding} gzip [NC]
RewriteCond %{REQUEST_FILENAME}.gz -f
RewriteRule ([^/]+)\.(html|txt|dat)$ $1.$2.gz

RewriteCond %{HTTP:Accept-Encoding} gzip [NC]
RewriteCond %{REQUEST_FILENAME}index.html.gz -f
RewriteRule /?$ index.html.gz

も入れてみた。
それと、index.html.gz も作ってみた。
218 ◆cZfSunOs.U :03/05/13 21:19 ID:GAfAuK7h
>>217 "Accept-Encoding: gzip"ありの場合となしの場合で
別々のスタティックなファイルを吐き出しているようなので
Okらしいですね."/"及び"/index.html"について

["Accept-Encoding: gzip"あり]
Last-Modified: Mon, 21 Apr 2003 13:03:58 GMT
ETag: "20113e5-393-c3850b80"
Content-Length: 938

["Accept-Encoding: gzip"なし]
Last-Modified: Tue, 13 May 2003 12:01:41 GMT
ETag: "200acc6-811-75493340"
Content-Length: 2065
219domo2 ◆eoDomo5qoo :03/05/13 21:40 ID:cscZj8yu
うーむ、
index.html がうまいこと表示されない。。
220 ◆cZfSunOs.U :03/05/13 21:42 ID:GAfAuK7h
あ......ひょっとすると *.gz が二重に圧縮されてるか......w

RemoveOutputFilter gz

追加でどうかな?
221domo2 ◆eoDomo5qoo :03/05/13 21:47 ID:cscZj8yu
RemoveOutputFilter gz

入れてみました。
222ずぶ ◆PHZUBUXUug :03/05/13 21:56 ID:11VN4PXv
見るのは,>>209のアドレスにindex.htmlくっつければ良いんでしょうか?
付いていけなくなってます…(´・ω・`)
223名無しさん@お腹いっぱい。:03/05/13 22:04 ID:iQi06n5T
index.html
ダウンロードになっちゃいます…
224名無しさん@お腹いっぱい。:03/05/13 22:33 ID:pAJM/HPE
もはや、我々素人がついていけるスレじゃないな
225ずぶ ◆PHZUBUXUug :03/05/13 22:46 ID:11VN4PXv
>>223
gzip圧縮が効いてる証拠ですね。
ブラウザ設定の「http1.1」に関するチェックを入れると見れるはずですが…
ちなみに私は見れます
226名無しさん@お腹いっぱい。:03/05/13 22:52 ID:iQi06n5T
>>225
先程は駄目だったようです
Content-typeが上手く伝わってなかったのでしょうか…
今は私も見えます
227 ◆cZfSunOs.U :03/05/13 22:56 ID:GAfAuK7h
>>220の対策も,どうも効かないぽ,ですね......

こちらのローカル環境でテストしてみたけど,どうもこれは
mod_deflate の構造的な問題ぽ......
mod_rewrite だけでなく mod_negotiation (type map / MultiViews)
でも同じようになってしまうし.

CGI出力で"Content-Encoging: gzip"ってなってる場合は
二重に圧縮しないようになってるけど,スタティックな
*.gz ファイルに振った場合のことは考慮されてないみたい......

r->headers_out に"gzip"がセットされているかはチェックするけど,
スタティックな *.gz ファイルの場合 mod_mime で r->content_encoding
に"gzip"とセットされるようだけど,こちらはチェックしてないし.

となると,mod_deflate 使うとなれば,スタティックな *.gz を
扱うのをあきらめるか,それとも自分で r->content_encoding も
チェックするようにするパッチを作るか,ということになる......

Apache の Bugzilla にも報告した方がいいのかな......?
228ずぶ ◆PHZUBUXUug :03/05/14 00:08 ID:VLmJ1PD4
>>226
っと,失礼しました。

>>227
全部まとめて圧縮するために,特定のファイルを除外する機能が
無いんですねぇ。
mod_gzipみたいにexclude出来ればいいんですが…
229名無しさん@お腹いっぱい。:03/05/14 02:19 ID:n2+9h6gt
現状の.htaccessってどうなってるんですか?
あと、gzipとdeflateがContent-Encodingで区別できないとすると
deflateが動いている証拠は?gzipを廃止したならわかりますが。
230名無しさん@お腹いっぱい。:03/05/14 05:07 ID:nBc3/+VB
<Files ~ "\.(html|txt|dat)$">
SetOutputFilter DEFLATE
</Files>
でどうよ?
.html.gzは「末尾が」.htmlじゃないから
適用されなくなるはず。
231 ◆KornrikzJM :03/05/14 12:36 ID:jdZKuV2G
>>229
>>210,212,217 ですよー。
つか,証拠とか言ってないで,domo2さんにgzip外したか
確認してもらったらどうですか?

>>230 うまくいくといいな。わくわく。
232ずぶ ◆KornrikzJM :03/05/14 12:55 ID:jdZKuV2G
こんなの見つけたんですけど…
ttp://www.cync.jp/manual/mod/mod_mime.html
.gzファイルのエンコーディングを指定できれば何とかなりそうな。
使えないでしょうか…
233BG ★:03/05/14 18:23 ID:???
おっ
なんかうまく行きそう?
234ずぶ ◆PHZUBUXUug :03/05/14 18:47 ID:VLmJ1PD4
>>233
うほっ
どうなんでしょう…(汁
235 ◆cZfSunOs.U :03/05/14 20:40 ID:KEqrXFJZ
>>230 それに cgi も加えれば,とりあえずOkですかね.
>>232 それだと,HTMLページが表示されずにダウソロードになってしまう悪寒......

>>227の問題はこちら......ローカル環境ではこちらのパッチで
二重に圧縮されなくなることは確認.
http://nagoya.apache.org/bugzilla/show_bug.cgi?id=19913
236BG ★:03/05/14 21:17 ID:???
んじゃ
domo2さんにテストしてもらって
うまく行ったら、どこかのサーバで試験的に導入するですかね、
237domo2 ◆eoDomo5qoo :03/05/14 21:26 ID:Z2mRLFXJ
>>236
そゆことで、、

なんかダウンロードが出るんですけど、おいらだけですか?
http://bg3.2ch.net/
238 ◆jQQQcncea. :03/05/14 21:29 ID:wHUBAc2v
>>237
当方は問題ないですが・・・
239BG ★:03/05/14 21:30 ID:???
>>237
わしもダウンロードになる。

IE6.0
240 ◆cZfSunOs.U :03/05/14 21:35 ID:KEqrXFJZ
まだ二重に圧縮されてますね......
241名無しさん@お腹いっぱい。:03/05/14 21:35 ID:tNpOAmIk
>>237
問題ありませんけど・・・
242BG ★:03/05/14 21:37 ID:???
まず第一段階として
.gz は使用しない(bbs.cgiでも作らない)というのを試してみよう。

作った方がいいのか、作らない方がいいのかも微妙だと思う。
転送量的には変化はないとしても
作るコスト(bbs.cgi内でのexec多数回呼び出し)とdeflateに任せた
ときのコストがどうなるか・・・

特に live5 では、作らない方がもしかしたら負荷極端に減ったりして。