[表示 : 全て 最新50 1-99 101- 201- 301- 401- 501- 601- 701- 801- 901- 2chのread.cgiへ]
Update time : 02/21 00:34 / Filesize : 258 KB / Number-of Response : 902
[このスレッドの書き込みを削除する]
[+板 最近立ったスレ&熱いスレ一覧 : +板 最近立ったスレ/記者別一覧] [類似スレッド一覧]


↑キャッシュ検索、類似スレ動作を修正しました、ご迷惑をお掛けしました

Apache関連 Part10



1 名前:名無しさん@お腹いっぱい。 [2007/05/20(日) 11:21:54 ]
HTTP ServerのApacheに関する話題を扱うスレッドです。
httpd.apache.org/

HTTP Serverの最新Versionは
Apache/2.2.2
Apache/2.0.58
Apache/1.3.36

●インストール済みApacheの詳細情報の調べ方
httpd -h 簡易ヘルプ
httpd -v バージョン情報
httpd -V コンパイル条件など詳細な情報
httpd -l 静的リンクされたモジュール一覧
httpd -M 現在の設定ファイルで読み込まれるモジュール(2.2以降)

●公式マニュアル
httpd.apache.org/docs/1.3/ Apache 1.3
httpd.apache.org/docs/2.0/ Apache 2.0
httpd.apache.org/docs/2.2/ Apache 2.2

●ディレクティブ一覧
httpd.apache.org/docs/1.3/mod/directives.html
httpd.apache.org/docs/2.0/mod/quickreference.html
httpd.apache.org/docs/2.2/mod/quickreference.html



600 名前:名無しさん@お腹いっぱい。 mailto:sage [2008/05/21(水) 01:21:08 ]
>>595
それ別に訳に立たないじゃん。
法律で帳面の保存を義務づけられてるのと同じ

>>596
だから一箇所にまとめるんじゃん

>>597
ログをあさる数少ない原因をだされても…

601 名前:名無しさん@お腹いっぱい。 mailto:sage [2008/05/21(水) 01:48:20 ]
だから>>590とかやって一箇所にまとめてるじゃん。

何を主張したいのかよくわからん。

602 名前:名無しさん@お腹いっぱい。 mailto:sage [2008/05/21(水) 01:48:44 ]
>>599
日本語で書いてあるのにわからないの?
転送開始前にログを取るか、転送完了後にログを取るかが異なる。

603 名前:名無しさん@お腹いっぱい。 [2008/05/21(水) 01:50:49 ]
>>602
どこにそんなことが書いてあるか、日本語でも英語でもいいから
Apacheのマニュアルからそのまま(as-is)コピペしてくれないかな?

604 名前:名無しさん@お腹いっぱい。 mailto:sage [2008/05/21(水) 01:54:13 ]
>>603
>>589にコピペした部分に書いてある。池沼さん?

605 名前:名無しさん@お腹いっぱい。 mailto:sage [2008/05/21(水) 01:54:34 ]
>>600
おまえの頭が悪い(≒おまえの周りの状況が全てに適用できると思い込んでる)のはわかった。

606 名前:名無しさん@お腹いっぱい。 [2008/05/21(水) 01:55:55 ]
> mod_logio で提供されている %O フォーマット文字列で、ネッ
> トワーク経由で実際に転送されたバイト数を 記録できます。

確かに、mod_logioを使ったときは、実際に転送が終わった後にログがログファイルに記録されるだろうね。
んじゃ、mod_logioを使わなかったときは転送が終わる前にログがログファイルに記録されるなんてどこに書いてあるんだ?

607 名前:名無しさん@お腹いっぱい。 mailto:sage [2008/05/21(水) 02:07:07 ]
>>606
チンケなプライド保とうと必死だな。www
元の質問(>>576)で問題にしているタイミングとは、実際の書き込みタイミングで
はなく、ログに書き込まれた情報が取得されたタイミングである事は明白。

608 名前:名無しさん@お腹いっぱい。 [2008/05/21(水) 02:31:08 ]
>>607
おいおい
mod_logio使うかどうかでログに記録される時刻が変わるというのか?
1GBのファイルをダウンロードするのに2分かかる場合、
ログファイル内のアクセス時刻の表示が2分変わると言うのか?



609 名前:名無しさん@お腹いっぱい。 mailto:sage [2008/05/21(水) 02:54:34 ]
>>608 低脳必死杉。www
タイミング==アクセス時刻と読む事に活路を見出したのか?。www

元の質問(>>576)を良く読んで、何を気にしているかよく考えなさい。

>>608の言いがかりに関しては
ログに書き込まれた情報(転送バイト数)が取得されたタイミングが異なる。
といっておこう。

610 名前:名無しさん@お腹いっぱい。 [2008/05/21(水) 02:56:07 ]
>>576と転送バイト数には何の関係も無いんだが

611 名前:名無しさん@お腹いっぱい。 mailto:sage [2008/05/21(水) 03:28:40 ]
>>610
ある。わからないのか? 本当に馬鹿なんだな。

612 名前:名無しさん@お腹いっぱい。 [2008/05/21(水) 03:41:40 ]
>>576には
「問題なのはアクセスログが残っているにも関わらず、」
と書いてあり、アクセスログが書いてあるかどうかが問題なわけで
転送バイト数がどうかしたのか?

さっきから人のことを低脳とか日本語ができないとか言うけど、
だいたい>>579の「例えば、mod_logio使えば実際に転送されたバイト数。」
はどの質問に対する答えなのか。日本語が出来てないのは誰なのか。

613 名前:名無しさん@お腹いっぱい。 [2008/05/21(水) 03:59:28 ]
>>609の言ってるように、プロセスがログに書き込む内容を取得する時間が異なるとゆうことは、
>>608の言ってるような事態が起こりうるかもしれない。
しかしそうなって来ると、そもそもlogに書き込まれるアクセス時間が、リクエストを受け取った時間なのか、
リクエストが終了した時間なのかが問題になりそう。

ウチで以前、一部のクライアントがコネクションを放さなくて、アクセスログに書き込まれた時刻が、
前後の行から3分位ずれたログが多数書き込まれることがあった。
mod_logioなんぞは不使用だったが、恐らくリクエストがあった時間をそのプロセス(スレッド)が記憶しており、
コネクションが切れた時点でlogに書き込んだものと思われる。(sizeについては動的ページだったのでアテにできず)

もしmod_logioを使えば、コネクションが切れた(書き込む情報を取得した)時間も取れるかもしれない。
あるいは、その時間を書き出す設定が、ひょっとしたらCustomLogあたりにあるかもしれない。
(それが出来れば、問題が起きたどうかを判断する助けになるかも)

つうことで、本家のmanualあさって来ます。

614 名前:613 mailto:sage [2008/05/21(水) 04:27:27 ]
今、読んできた(jpのページだけだけど)。

まず、ログに書き込まれる時刻は、リクエストを受けた時間のみしか記録できないようだ。
(logio使用、不使用に関わらず。なーんだ、残念・・)

で、リクエストを返すのに掛かった時間を、秒またはミリ秒(ms)で記録することはできるようだ。
(これは、CGI等が実行された時間なのか、リクエストが完全に終了するまでの時間なのかは、検証必要。今度やってみよう。)

>>576の質問については、logio使用不使用に関わらず、アクセスが異常終了(TimeOutとか、クライアントが中止とか)
した場合に、その内容を書き出す(あるいは書き出さない)ような設定はないようなので、

>>579の答えは、「タイミングがいつなのか?」のみの場合は、その通りだけど、
後半部分も含めると、「log指定に依存」は正確ではないのではないか。

615 名前:名無しさん@お腹いっぱい。 mailto:sage [2008/05/21(水) 04:32:12 ]
>>614 だけど、
ごめん、ミリ秒じゃなくてマイクロ秒だった・・・・・。

616 名前:名無しさん@お腹いっぱい。 mailto:sage [2008/05/21(水) 11:15:38 ]
apache のバージョンや設定にかかわらず、ログに出力されるのはレスポンス終了後。
ただし、1.3 ではログのタイムスタンプがログを書いた時刻になるのに対して、
2.x ではリクエストを受け付けた時刻になる。
なので、1.3 ではログが必ず時刻順に並ぶが、2.x ではレスポンス完了まで
時間がかかるとログの時刻がさかのぼることがある。
コンパイル時に何か define すれば 2.x でも 1.3 互換の時刻出力が
できたような記憶があるけど、詳しいことは忘れた。

で、mod_logio は LogFormat で使える書式制御文字を増やすだけで、
今回の件にはまったくなんにも関係ない。


617 名前:名無しさん@お腹いっぱい。 mailto:sage [2008/05/21(水) 12:14:42 ]
応用力が致命的に欠如してるな。これが「ゆとり」か。

%b 転送する予定のバイト数
%O 転送したバイト数
両方記録することで>>576が問題にしている状況を説明できるログになる。

618 名前:名無しさん@お腹いっぱい。 mailto:sage [2008/05/21(水) 12:18:10 ]
サーバが送信したバイト数は
クライアントが受信したバイト数と必ず一致するのだろうか。



619 名前:名無しさん@お腹いっぱい。 mailto:sage [2008/05/21(水) 12:42:38 ]
>すいません。apacheのアクセスログの
>書き込みタイミングっていつなんでしょうか。

という問いに対して %b、%O が出てくる理由を応用力が欠如したゆとりにも
理解できるように説明してもらえるとありがたいです。

>問題なのはアクセスログが残っているにも関わらず、
>(例えばネットワークの障害の原因で)
>クライアントがデータを取得できていないということが
>あり得るのかどうかということです。

こちらに関していえば、「あり得る」で問題ないですよね。
ログ出力をどう指定するかとはまったく無関係に。
っていうか、ログの指定方法を変えることでデータの転送の確実性が
変わったりなんかしたら大変なことだ。

620 名前:名無しさん@お腹いっぱい。 mailto:sage [2008/05/21(水) 12:57:40 ]
>>619
> という問いに対して %b、%O が出てくる理由を応用力が欠如したゆとりにも
> 理解できるように説明してもらえるとありがたいです。
それは >>576 の後半に書いてあるじゃん。
そもそもの問いが的外れだった。

621 名前:名無しさん@お腹いっぱい。 mailto:sage [2008/05/21(水) 13:31:02 ]
>>620
えーと、ということは、

>こちらに関していえば、「あり得る」で問題ないですよね。
>ログ出力をどう指定するかとはまったく無関係に。

これを否定するってことですか?
ログの指定ってのは、発生した現象を記録するかどうかの違いだけで、
その現象が発生するかどうかとはまったく無関係だと思うんですが。

それともアレですか、バグのあるプログラムのあやしそうなところに
printf をつっこんだらバグが再現しなくなったとかいうのを
日常的にやってる方なんでしょうか?

622 名前:名無しさん@お腹いっぱい。 mailto:sage [2008/05/21(水) 13:34:29 ]
>>619
「ゆとり」恐るべし。
字面をなぞるだけでは、質問の意図するところはわからんよ。

後半とあわせて読めば、>>576の状況は
・クライアントがデータが取得できていない(ように思える)
・でもアクセスログでは正常に転送したことになっている。

そこで、>>576はアクセスログの記録タイミングを疑って
> すいません。apacheのアクセスログの
> 書き込みタイミングっていつなんでしょうか。
という質問をしたわけだ。
質問が「アクセスログが残っているのですが、これ本当ですか? 実際には
転送されていないのでは?」であることは明白。

%b %O両方とれば、
1 (apacheから見た)クライアントのプロトコルスタックまではデータ転送が完了している。
2 コネクション切断等の原因で転送が中断された。
のいずれかであることがわかるので障害の切り分けができる。

623 名前:名無しさん@お腹いっぱい。 mailto:sage [2008/05/21(水) 13:39:15 ]
>>621
>>620 != >>617なので勘違いしないように。

624 名前:名無しさん@お腹いっぱい。 [2008/05/21(水) 13:39:42 ]
>>617
応用力?w

それなら
%X 応答が完了したときの接続ステータス
を使うから、mod_logioをその目的に使おうなんて思わないんだよ。
だから誰もお前の「応用」を理解できないんだよ。

それにそもそも質問者に対する答えになってないだろ>>579は。

625 名前:620 mailto:sage [2008/05/21(水) 13:46:19 ]
>>621
否定も肯定もしないよ。
>>619 の前半に答えただけ。

626 名前:名無しさん@お腹いっぱい。 mailto:sage [2008/05/21(水) 13:47:05 ]
っていうか、よく見たら

>%b 転送する予定のバイト数
>%O 転送したバイト数

これ思いっきり嘘じゃねーか。

%b response body だけのバイト数
%O header 込みの総バイト数

どっちも実際に転送したサイズで、転送する「予定」のバイト数ではない。
つーか、CGI みたいにリクエストを受けてから動的に生成してるページの
「転送する予定のバイト数」をどうやってログに載せるんだよ。

627 名前:名無しさん@お腹いっぱい。 mailto:sage [2008/05/21(水) 14:12:20 ]
>>624
後出し乙。後出しといわれたくなかったら、別スレでお前が自分で
言ってたようにmd5貼っとけば良かったのに。www

>>626
ウルトラ初心者は黙ってろよ。

> どっちも実際に転送したサイズで、転送する「予定」のバイト数ではない。
>>589でも引用している。
> httpd 2.0 では 1.3 とは異なり、%b と %B フォーマット文字列はクライアントに
> 送信されたバイト数そのものではなく、 HTTP レスポンスのバイト数です (これら

> つーか、CGI みたいにリクエストを受けてから動的に生成してるページの
> 「転送する予定のバイト数」をどうやってログに載せるんだよ。
apacheが一旦受け取ってバッファリングしている。
お前は知らないだろうが、HTTPレスポンスメッセージにはステータスラインが必須なのだが、
Apacheが裏でつけてくれている。
お前のようなウルトラ初心者が作ったCGIの出力を正しいHTTPレスポンスメッセージにするた
めにApacheは頑張ってるんだぞ。

628 名前:名無しさん@お腹いっぱい。 [2008/05/21(水) 14:37:22 ]
後出し?別スレ?md5?
もういいよ



629 名前:名無しさん@お腹いっぱい。 mailto:sage [2008/05/21(水) 15:42:01 ]
>628
お前の負けーwwwwwwwwwww

630 名前:名無しさん@お腹いっぱい。 mailto:sage [2008/05/21(水) 16:39:10 ]
劣悪な通信環境化でのサーバ・クライアントのやり取りを見ているみたいだw

631 名前:名無しさん@お腹いっぱい。 mailto:sage [2008/05/21(水) 16:44:17 ]
以上、本試合は「最後にしゃべった方が勝ち」ルールでお送りしました。

632 名前:名無しさん@お腹いっぱい。 [2008/05/22(木) 15:57:46 ]
apache-2.2.8 をインストールしました。
httpd.confにて、
DocumentRoot "/usr/pkg/share/httpd/htdocs"
を、
DocumentRoot "/www/htdocs"
に変更しました。(/www/htdocsは作成し、index.htmlも作成しました。
そして、apacheを再起動してアクセスすると
Forbidden
You don't have permission to access / on this server.

と表示されてしまいます。

何が原因かわかりません絵ででしょうか?

上記以外の修正点は、
ServerAdmin と ServerNameだけです。



633 名前:名無しさん@お腹いっぱい。 mailto:sage [2008/05/22(木) 16:06:39 ]
777にでもしてみ

634 名前:名無しさん@お腹いっぱい。 mailto:sage [2008/05/22(木) 16:12:28 ]
/www/htdocs に対し、GroupとUserで指定した実行ユーザのアクセス権限がない
→ディレクトリのパーミッションを調べる

/www/htdocs に対し、ディレクティブで許可指定が無い
→とりあえず<Directory /usr/pkg/share〜> とかいう部分を/www/htdocsに書き換えてみる

最低の対策としては、多分このへんでは。

635 名前:632 mailto:sage [2008/05/22(木) 16:19:42 ]
ありがとうございます。
解決できました。

DocumentRootだけを変えていたのですが、cgi-binやerrro, iconsも同じパスに変更し、
もとのDocumentRootの中身をすべてコピーすればできました。

お手数をおかけいたしました。

636 名前:名無しさん@お腹いっぱい。 mailto:sage [2008/05/22(木) 16:30:42 ]
777のままにしとくなよ。

637 名前:名無しさん@お腹いっぱい。 mailto:sage [2008/05/23(金) 05:25:35 ]
mod_proxy 使って、クライアント→SSLproxy化サーバ→WEBサーバ
というようにSSLアクセスさせたいのですが、
この場合に、
ログの管理上、
WEBサーバにクライアントのIPを直に残させることは可能なのでしょうか。


638 名前:名無しさん@お腹いっぱい。 [2008/05/23(金) 07:13:32 ]
XAMPP for Windowsでローカル用にApache 2.2.8を動かしているのですが、
ちょっと困ったことがあり、御助言を頂きたく思います。

USBメディアにて異なる環境にてapacheを使えるようにしているのですが、
httpd.conf(実際には httpd-vhosts.conf)の、<VirtualHost *> の DocumentRoot 指定に
存在しないドライブを指定すると、
Syntax error on line 80 of (インスコしたディレクトリ)/xampp/apache/conf/extra/httpd-vhosts.conf:
DocumentRoot must be a directory
と言われてapacheが起動しません。

環境によって場合分け、もしくは、存在しないドライブを指定しても(無視して)起動できるようにする方法はありませんでしょうか?

結局のやりたいこととしては、家の環境と作業場の環境のsambaで割り当てたドライブ(家の環境には存在しない)で、
共通の方法で運用したいということです。



639 名前:638 [2008/05/23(金) 07:28:59 ]
バージョンを書き忘れてました。
Server version: Apache/2.2.8 (Win32)
XAMPP Version 1.6.6a
です。

補足なのですが、他のバーチャルホストの設定などの共通の設定もたくさんあるため、
できれば、apacheなどを2つわけてインストールをしたくないということです。

640 名前:名無しさん@お腹いっぱい。 mailto:sage [2008/05/23(金) 09:14:32 ]
>>637
proxy→web鯖 の際、mod_proxyの機能として、
X-forwarded-For
というヘッダがリクエストに挿入されるので、それをログに記録すればよい。
あるいは、mod_rpafを入れればHostが上書きされるのでログも変わる。

641 名前:名無しさん@お腹いっぱい。 mailto:sage [2008/05/23(金) 09:15:41 ]
場合わけで使えそうなのは IfDefine かねえ。
ttp://httpd.apache.org/docs/2.2/ja/mod/core.html#ifdefine

642 名前:名無しさん@お腹いっぱい。 mailto:sage [2008/05/23(金) 10:29:19 ]
自宅パソコンの中身を同じ風味にすれば良いかと
ドライブレター変えるとかエイリアス作るとか

643 名前:638 mailto:sage [2008/05/23(金) 13:28:38 ]
>>641
いけますた!!

次のレスのようなWSHを書いて、

<IfDefine WorkMachine>
  <VirtualHost *>
    DocumentRoot ないドライブを含むパス
    :
    :
</IfDefine>

みたいに、httpd.conf(httpd-vhosts.conf)に書いておけばばっちりでした。

644 名前:638 mailto:sage [2008/05/23(金) 13:29:06 ]
でっち上げたWSHです。

MachineNameForWork = 'RED';

function IsMachineForWork() {
  return WScript.CreateObject("WScript.Network").ComputerName == MachineNameForWork;
}
function GetApacheArgs() {
  return IsMachineForWork() ? " -DWorkMachine" : "";
}

var args = WScript.Arguments;
var shell = WScript.CreateObject("WScript.Shell");

var isStopMode = (args.length == 1 && args(0) == 'stop');

// stop process
shell.Run('apache_stop.bat', 0, true);
if (isStopMode) {
  // if mysqld is not booting, beep onn urusai!!
  shell.Run('mysql_stop.bat', 0, true);
  WScript.Quit();
}

WScript.Sleep(1000 * 3);


// run apache etc...
shell.Run('apache\\bin\\apache.exe' + GetApacheArgs(), 0, false);
WScript.Sleep(1000 * 1);
shell.Run('mysql\\bin\\mysqld --defaults-file=mysql\\bin\\my.cnf --standalone', 0, false);

645 名前:638 [2008/05/23(金) 13:30:56 ]
>>642
アドホックに行くならば環境の方を変えてしまうのもアリですね。


無事解決いたしました。
ご協力くださりありがとうございました。

646 名前:名無しさん@お腹いっぱい。 [2008/05/23(金) 14:52:57 ]
FreeBSDでApache2.2.8で存在しないディレクトリをDocumentRootに設定したら
Warning: DocumentRoot [/usr/home/user1/www/vh/virtualhost1/] does not exist
って警告が出るけど普通に起動するね。
存在しないドライブだとエラーになるのか…。バグ報告出すかね。

647 名前:名無しさん@お腹いっぱい。 mailto:sage [2008/05/23(金) 21:29:59 ]
>>646
まずソースを読んで、意図的なのかバグっぽいのか判断してみては?
メインのDocumentRootだとエラーで、<VirtualHost> だったら警告のみ、とかって
いう風になっている可能性もあるし。いきなりバグ報告されても萎えると思う。
# 漏れは読んでない。ごめん。

648 名前:名無しさん@お腹いっぱい。 mailto:sage [2008/05/24(土) 01:02:19 ]
すいません、以前アドバイス頂いた>>507です。
チラシの裏みたいで恐縮ですが、その後の快調になりました。ありがとうございます。

今回いろいろ蓄積してきたルールを整理しようとしているのですが、
httpd.confに
<IfModule mod_limitipconn.c>
ExtendedStatus On
<Directory "/var/www/example/*/example">
<FilesMatch "\.(zip|lzh|rar|sit|tgz)$">
MaxConnPerIP 2
</FilesMatch>
</Directory>
</IfModule>
...
<IfModule log_config_module>
...
SetEnvIf User-Agent "(bad-agent1|bad-agent2 ...)" robots
...
SetEnvIf Referer "example.jp" ref_ok
SetEnvIf Referer "^$" ref_ok
</IfModule>



649 名前:648続き mailto:sage [2008/05/24(土) 01:03:14 ]
そしてhttpd-vhosts.confに
<Directory /var/www/example/*/example>
<FilesMatch "\.(zip|rar|lzh|sit|tgz)$">
Order deny,allow
Deny from env=robots
Allow from env=ref_ok
</FilesMatch>
</Directory>

としている箇所がありますが、limitは効いて503を返すのですが、アクセスログを見るとuser-agentで弾けてないのに気づきました。
前はSetEnvIFでの環境変数の設定はしてずにRewriteルールで403を返すようにしていました。
これはルールの適用順の問題なのかアドバイス頂けますと助かります。

で、前述のとおりログを見て気づき、修正できるまでRewriteとSetEnvIfはコメントアウトして、同一ipから503を返した回数に閾値を設定し、超えたユーザは問答無用でiptablesに突っ込んでいます。
なるべくiptablesをしょっ中更新したくないので、apache側で出来ないかと思いました。
もし、私の設定単純ミスでしたらお詫びします…宜しくお願いします。

650 名前:名無しさん@お腹いっぱい。 mailto:sage [2008/05/24(土) 04:56:52 ]
複合条件だから難しいなw こんな感じかな?

SetEnvIf User-Agent "^bad-agent1" robots
SetEnvIf User-Agent "^bad-agent2" robots
SetEnvIf Referer "^.+" ref_ng
SetEnvIf Referer "^example\.jp" !ref_ng
Order allow,deny
Allow from all
Deny from env=robots
Deny from env=!ref_ng

Referer のとこに補足すると、まず Referer 値があったら ref_ng という
拒否前提のフラグを立てておいて、それが許可される Referer だった場合には
ref_ng のフラグを解除する。Referer 値がないときは ref_ng が立たないから
アクセスは許可される。

これ以上に条件が増えると難解になるだけなんで、素直に mod_rewrite で
設定した方が良いと思うです。

651 名前:名無しさん@お腹いっぱい。 mailto:sage [2008/05/24(土) 05:01:13 ]
閾値の件については、apache で処理させてたら意味ないな。
503 を返そうが 403 を返そうが、リクエストが httpd にまで到達していることに
変わりはないので、処理コストの若干の違いはあれど同じこと。

ログを定期的に見て、IP アドレスを iptables に追加するスクリプトでも
書いたほうが早いかと・・・・

652 名前:名無しさん@お腹いっぱい。 mailto:sage [2008/05/24(土) 05:03:35 ]
>>650
度々すんませんorz 修正・・・
× Deny from env=!ref_ng
○ Deny from env=ref_ng

653 名前:648 mailto:sage [2008/05/24(土) 07:35:29 ]
おはようございます。
朝までチューニングして眠たい>>648です:-)

>>650
ありがとうございます。ご参考にさせて頂きます。
やはりRewriteでやった方がいいでしょうか…。
別件ですが、limitも完璧ではないので、悪質なユーザになると1秒間に10以上のアクセスを掛けてきます。

>>651
ありがとうございます。一応1行野郎スクリプトで15分おきにログを見させて、閾値を超えたipをiptablesの設定スクリプトで拾ってはいるのですが…。
ただ、その更新中には全てのアクセスに一時応答しないラグが出るので(3〜5秒)、その際に嫌われないか思案中でした。
他の監視スクリプトもドンピシャリタイミングで動くとポート開いてネーヨ(゚Д゚)ゴルァ!!されるので、微妙にタイミングをずらしています。

…と書いてて気づいたのですが、激しく板違いでしたでしょうか…。

654 名前:648 mailto:sage [2008/05/24(土) 09:50:39 ]
殆ど>>650さんのを参考に稼働させると
limitで弾く前に評価され(当たり前なのかも知れませんが…すいません)、robotsと設定されたツールでアクセスされると403が返り、たまにこぼしていたlimitもより希望に沿う形となりました。
そこから若干変更を加え、SetEnvIfNoCaseに変更してある程度のツール系は遮断。
そこからブラウザのマッチ評価、そして同時接続数の評価へと改良しました
やはり過度なアクセスがあるとlimitはこぼしてしまうので、完璧とは言えませんが基本ポリシーを満足させるものに近づきました。

なにせほぼ嫌がらせとしか思えないほど(今も)朝から凄まじいアクセスをしてきているので、気分はヌッ殺したいところです。( ´ー`)y-~~
ここ4日間で54万アクセス(503)ですので…。

mod_rewriteはもうちょっとしっかりとお勉強します。

655 名前:名無しさん@お腹いっぱい。 mailto:sage [2008/05/24(土) 14:58:44 ]
>>653
> …と書いてて気づいたのですが、激しく板違いでしたでしょうか…。

個人的にだけど、Web 鯖へのアタックや過剰アクセスから守る方法として
一般論(?)が展開されるなら、このスレでも間違っていないと思いますお。

656 名前:名無しさん@お腹いっぱい。 mailto:sage [2008/05/24(土) 15:26:44 ]
ipってゆうな。クズ。

657 名前:名無しさん@お腹いっぱい。 mailto:sage [2008/05/24(土) 16:28:09 ]
テリー乙

658 名前:名無しさん@お腹いっぱい。 mailto:sage [2008/05/24(土) 20:10:23 ]
perl-5.8.8nb7 Practical Extraction and Report Language
ap22-perl-2.0.4nb1 Module that embeds a Perl interpreter into Apache
をインストールしました。

apache2 の起動はできるようになったのですが、mod_perl の使い方が分かりません。
どのように設定すればいいでしょうか?



659 名前:658 mailto:sage [2008/05/24(土) 20:15:15 ]
apache2はモジュールの読み込みが必要無いんですね

660 名前:名無しさん@お腹いっぱい。 mailto:sage [2008/05/25(日) 00:16:43 ]
>>658
使い方が分からないなら今から覚えるな。バッドノウハウになりかねん。
まず SpeedyCGI で、次に FastCGI を覚える方がいいよ。

661 名前:名無しさん@お腹いっぱい。 mailto:sage [2008/05/25(日) 20:10:35 ]
>>657
はあ?俺はテリーじゃねえしww
つーかおまえらテリー乙テリー乙って馬鹿の一つ覚えみたいに言ってるけど
テリーにもファンがいるってことを認めたくないだけだろww
現実見ろよwwwwwwww

662 名前:名無しさん@お腹いっぱい。 mailto:sage [2008/05/25(日) 20:20:27 ]
テリーは目がいってるよ、こわいよお

663 名前:テリーファン mailto:sage [2008/05/25(日) 22:37:35 ]
みんなテリーのことを悪く言いすぎだと思います。
一人で旅をするのはとても勇気がいることです。
武闘家にならずにバトルマスターになれるのもテリーしかいません。
もっとテリーを評価してあげてほしいです。
よろしくお願いします。

664 名前:名無しさん@お腹いっぱい。 mailto:sage [2008/05/28(水) 09:28:35 ]
すみません質問です
apacheからperlやphp等を実行する場合、実行権限ってどうなるんでしょうか?
試しにドキュメントルートより上の階層を見に行くスクリプトを組んで実行してみると難なく見えてしまいました

ユーザー1であれば user1/ 以下の階層のみアクセス可能にしたいのですが、
そういった設定はapache側から行うんでしょうか?

apacheのバージョンは2.2.3です

665 名前:名無しさん@お腹いっぱい。 [2008/05/28(水) 09:40:34 ]
PerlもPHPも、Apacheの実行権限で動く。
(CGIのsuexecは除く)

そして、Apacheから呼ばれるPerlもPHPも、ドキュメントルートは知ったことではない。
その辺は所有者やパーミッションをうまく設定するしかない。
suexecもその一環で使えると思う。そういう意味ではApache側からできるっちゃできるが。

PHPはセーフモードと言うのがあって、そういうことが出来るらしいが、俺は良く分からない。

666 名前:名無しさん@お腹いっぱい。 mailto:sage [2008/05/28(水) 09:48:31 ]
そういう人は、jail+chrootで幸せになれると思うよ。

667 名前:名無しさん@お腹いっぱい。 mailto:sage [2008/05/28(水) 10:22:51 ]
Windowsの場合はログインしてるユーザーなのかな
jailはBSD以外でも言うのかな

668 名前:名無しさん@お腹いっぱい。 mailto:sage [2008/05/28(水) 14:03:26 ]
早速ありがとうございます!

chrootコマンドだとユーザーが複数いる場合は難しいですよね?

jailって、要するにvirtualPCとかvmwareとかと同じ仮想OSの事でしょうか
使ってるlinuxはCentOSなので、OpenVZって言うのが見つかりました
調べてみると、仮想OSを複数作ってもカーネルは1つでいいようです

結局、この仮想OS上でユーザーごとに別途サーバーを構築して
仮想OSごとにchrootするということでしょうか

もしそうだとすれば相当面倒ですね^^;ポートは共有できるんでしょうか
たとえばレンタルサーバーとか、いちいちそんなことをしてるんですか?



669 名前:名無しさん@お腹いっぱい。 mailto:sage [2008/05/28(水) 15:48:14 ]
ニャース・ΜL キテガイリスト 28人目
pc11.2ch.net/test/read.cgi/unix/1211200469/
ニャース・ΜL キテガイリスト 28人目
pc11.2ch.net/test/read.cgi/unix/1211200469/
ニャース・ΜL キテガイリスト 28人目
pc11.2ch.net/test/read.cgi/unix/1211200469/
ニャース・ΜL キテガイリスト 28人目
pc11.2ch.net/test/read.cgi/unix/1211200469/
ニャース・ΜL キテガイリスト 28人目
pc11.2ch.net/test/read.cgi/unix/1211200469/
ニャース・ΜL キテガイリスト 28人目
pc11.2ch.net/test/read.cgi/unix/1211200469/
ニャース・ΜL キテガイリスト 28人目
pc11.2ch.net/test/read.cgi/unix/1211200469/

670 名前:名無しさん@お腹いっぱい。 [2008/05/28(水) 16:33:32 ]
レンタルサーバーは普通CGIはsuexecかね
PHPは知らん

671 名前:名無しさん@お腹いっぱい。 mailto:sage [2008/05/28(水) 22:24:51 ]
やるとしたらフロントにプロキシ立ててNameBaseでポート別立てしたバックのapache叩く感じかなぁ
起動オプションでコンフィグファイル切り換えればpidファイルもユーザーも切り換えて複数のapache立てられる

そもそも、そんな運用は却下するかな

672 名前:テリーファン mailto:sage [2008/05/28(水) 22:37:39 ]
>>664
apache では何の制限もできないし、そのためだけにユーザ毎に chroot するのはちょっと無駄。

お互いのホームディレクトリを不可侵にしたいのであれば、各ユーザを同一グループ(users 等)に
所属させて、各ホームディレクトリを 0705 の permission に設定することで、ほとんどの場合問題ない。

/var/log とか見せたくないディレクトリは 0750 にすればいいし、ファイルアクセスはさせたいけど、
ディレクトリの中を見られたくない場合は 0751 すればいい。

レン樽鯖はこんな程度だと思われ。

673 名前:名無しさん@お腹いっぱい。 [2008/05/29(木) 13:48:00 ]
apacheをインストールしたのですがstartを押すとThe requested operation has failedと出てきて起動できません。
解決方法をよろしくお願いします。




674 名前:名無しさん@お腹いっぱい。 [2008/05/29(木) 15:09:35 ]
早くしてください



675 名前:テリーファン mailto:sage [2008/05/29(木) 16:46:14 ]
              ,,,,,,iiiiiiiiiiiiiii,,,,,,
         ,,,iilllllll!!!l゙゙゙゙~~゙゙!!llliiii,,,
        ,,illlll!゙゙’: :     : ::゙゙!lllllli,,
       ..,illlllllll″       : :;lllllllllli,
      .,illlllllll!!′        : ;::゙lllllllli,
      :lllllllll゙..,,,,,,,,,,ii   : .i,,,,,iii,,::゙lllllllll、  
      .lllllllli,il!!!゙゙゙゛: :   : `゙゙゙゙゙!",llllllllll:
      .lllllllll!: l!!○llト:,..,,:.ll○l!ll.:!lllll!゙゙
       !llll!’:  :  ,,’ ’ : : :  .:llllll°  
          ,llllii,   ll,,,、 ,_,,i、   ll'llll:   
        ゙ll,l゙li..i、: : ``: ~゙°..",,.,l!|ll゙:    
           ゙l,.゙ト 'lトェェェェェェイフ`゚,lll°
            ゙ll,,.', `゙゙`''''''゙゜ ||,,il!゙`
            ,,l!ili,:      ,iliill,、
      ._,,,,,iiillll;:゙!llil,,,,、.._,,,,ll!゙゙.ll!llii,,,_
 _,,,,,,iiiiiiilllllllllllllllllll,::”`.゙゙゙゙゙゙゙゙″: .:l゙lllllllllllliiiii,,,__
lllllllllllllllllllllllllllllllllllllll:        : ,lllllllllllllllllllllllllllliiiiii,,,,,、

676 名前:名無しさん@お腹いっぱい。 mailto:sage [2008/05/29(木) 16:57:22 ]
>>673 httpd.confの編集ぐらいしれ

677 名前:名無しさん@お腹いっぱい。 [2008/05/29(木) 16:57:24 ]

ふざけないでくださいな。

できれば今日中に回答ほしい。勉強が進まない。

678 名前:名無しさん@お腹いっぱい。 [2008/05/29(木) 16:58:29 ]
>>676
あ、すみません。
それは編集しました。




679 名前:名無しさん@お腹いっぱい。 mailto:sage [2008/05/29(木) 16:59:58 ]
ウホw 2秒後にレス来たのかと思って焦った
error_log見たら? そのメッセージだけじゃ分からん

680 名前:名無しさん@お腹いっぱい。 [2008/05/29(木) 17:00:59 ]
>>679
どこにあるんですかそんなの?
start押したら>>673のエラーメッセージが出るのですが?

681 名前:名無しさん@お腹いっぱい。 mailto:sage [2008/05/29(木) 17:02:47 ]
ボットよけに特定のURLにアクセスがあったらそのIPからのアクセスを全部遮断したいんですが、なんかうまいことやる方法ありますか?

682 名前:名無しさん@お腹いっぱい。 mailto:sage [2008/05/29(木) 17:06:52 ]
>>680
OSの種類とバージョン、apacheのバージョンとインスコ方法を記しなさい

>>681
<Directory "/path/to/there">
 Deny from ....
</Directory>

683 名前:名無しさん@お腹いっぱい。 mailto:sage [2008/05/29(木) 17:09:14 ]
この手のは相手しない方がいいよ。

684 名前:名無しさん@お腹いっぱい。 [2008/05/29(木) 17:10:13 ]
>>680
winXP pro
apache 2.0.54
普通にインストールしました。

685 名前:名無しさん@お腹いっぱい。 mailto:sage [2008/05/29(木) 17:16:36 ]
>>684
なるほどね
ネット関連のカテゴリに自宅サーバ板があるんで、そっち行ってちょーだい
スレ違いでございます

686 名前:名無しさん@お腹いっぱい。 [2008/05/29(木) 17:17:14 ]
>>685
ここapacheのスレだろ?
頭大丈夫か?

687 名前:名無しさん@お腹いっぱい。 mailto:sage [2008/05/29(木) 17:22:58 ]
ここはUNIXの板だよ。
頭大丈夫?

688 名前:名無しさん@お腹いっぱい。 [2008/05/29(木) 17:23:48 ]
どうでもいいからapache教えてくださいよ



689 名前:名無しさん@お腹いっぱい。 mailto:sage [2008/05/29(木) 17:24:19 ]
テリー乙

690 名前:名無しさん@お腹いっぱい。 mailto:sage [2008/05/30(金) 00:26:06 ]
「start押す」って何かと思ってたw


691 名前:名無しさん@お腹いっぱい。 [2008/05/30(金) 00:31:41 ]
ふと思ったけど、Linuxのユーザーと、Apacheのユーザーってどっちが多いかな?

692 名前:名無しさん@お腹いっぱい。 mailto:sage [2008/05/30(金) 02:05:19 ]
Apacheじゃないかな。LinuxユーザならApache入れてる人そこそこいるだろうし、某メーカがApacheを
録画予約制御用にWindowsパソコンにプリインストールしてたりするし。

693 名前:名無しさん@お腹いっぱい。 mailto:粘着気違い猿晒しage [2008/05/30(金) 09:24:50 ]
>>669
何でもかんでもコピペしてんじゃねえよクズ、今すぐビルから飛び降りて死ねやwwww

妄想爆裂発狂中のキチガイは今すぐ死ねwwwwwwwwwwwwwwwwwwwwwwwww
どうでもいいんだよカス
早く死んでおけよwwwwwwwwwwwwwwww

いいから今すぐに死ねwwwwwwwwwwwwwwwwwwwwwwwwww


なんで精神病院に逝けないの?いいから死ねよもうwwww









完全に壊れたキチガイ猿は今すぐに死ねwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwww

694 名前:名無しさん@お腹いっぱい。 mailto:sage [2008/05/30(金) 19:37:02 ]
apache geronimoなんですけど、他サーバのgeronimoを自サーバに丸々コピー(クローン)
したいんですけど、設定等何か注意することはありますか?

ディレクトリごと持ってきたのはいいんですけど、他サーバで起動していたシステムが
自サーバではacionエラーで動かなくて困っています・・・

初期設定等何かありますかね?

695 名前:名無しさん@お腹いっぱい。 mailto:sage [2008/05/31(土) 16:13:11 ]
ドメイン部分を変えずに、別サーバを読み込むことって可能ですか?
DNSを使って
example.jp → サーバA
test1.example.jp → サーバB
なら簡単かと思いますが、
DNSで変更を加えずに
exmaple.jp → サーバA
example.jp/test1 →サーバB
というのは可能でしょうか?
ぱっと思いついたのが、
mod_proxyですが、その他よさそうな方法があったら木盆ぬ


696 名前:名無しさん@お腹いっぱい。 [2008/05/31(土) 16:23:08 ]
VirtualHost

697 名前:名無しさん@お腹いっぱい。 [2008/05/31(土) 16:42:51 ]
そりゃmod_proxyしかないな

>>696
質問読んでるか?

698 名前:名無しさん@お腹いっぱい。 mailto:sage [2008/05/31(土) 16:59:30 ]
mod_proxy で実現できるけど、受け側に絶対パスの制約が出ることに注意。
ここを意識したサイト制作が出来るなら大丈夫かと。

× <a href="/">TOP</a>
○ <a href="../">TOP</a>
× <img src="/img/moe.jpg">
○ <img src="../img/moe.jpg">

さらに Location ヘッダにも影響が出る。Location は絶対パスしか出力できないので、
リクエストの最後に / があるかどうかで挙動が変わってしまう。

GET /test1/moe/ HTTP/1.1
Host: example.jp

↑これは問題ない。

GET /test1/moe HTTP/1.1
Host: example.jp

HTTP/1.1 301 Moved Permanently
Location: test1/moe/

↑リダイレクトで変なところへ誘導されてしまう。

結論としては、あんまりオススメできる方法じゃあないですね・・・・



699 名前:698 mailto:sage [2008/05/31(土) 17:11:26 ]
訂正です。以下の文は関係ないので無視してくださいorz
> Location は絶対パスしか出力できないので、

700 名前:名無しさん@お腹いっぱい。 [2008/06/02(月) 01:20:15 ]
質問があります。
現在ApacheとPHPを一緒に動かしているのですが、アイドル状態の子プロセスが死なず、また、
レスポンスが返ってこなくて困っています。
 現象:
  1Apacheの起動後、PHPアプリを起動
   このときは問題なく表示されます
  2ブラウザのリロードボタンを何度か(約8回)押します
   このときに、レスポンスが全く返ってきません。また、ブラウザの停止ボタンを押してプロセスをアイドル
   状態にしても、MaxSpareServersで設定した子プロセス数までプロセス数下がりません。






[ 続きを読む ] / [ 携帯版 ]

前100 次100 最新50 [ このスレをブックマーク! 携帯に送る ] 2chのread.cgiへ
[+板 最近立ったスレ&熱いスレ一覧 : +板 最近立ったスレ/記者別一覧]( ´∀`)<258KB

read.cgi ver5.27 [feat.BBS2 +1.6] / e.0.2 (02/09/03) / eucaly.net products.
担当:undef