AN HTTPD ゲストブック/コメント集(2003年1月28日11:50)


中田昭雄 nakata@st.rim.or.jp 2003/02/02 20:59

MIYA さん
それが賢明でしょう。

貧弱な回線でHTTPサーバを使って大きなコンテンツを広く公開しておきながらそういうことで頭を悩ます、というのはおかしいような気がします。
一番簡単なのは他の(レンタル)サーバなどにコンテンツを移すことでしょう。


MIYA miyaxxx@hotmail.com 2003/02/02 20:33

中田さんこんにちは。

>私としては、CGI(Perl,PHP)でやる、
>Apacheでやってみる、
>コンテンツを他のサーバに置く、
>同時アクセス制限で我慢する

中田さんのおっしゃっている通りだと思います。
レジストリの変更による設定は、可能性として試してみるだけです。
試して可能であったから、そのプログラムをどうするというつもりもありませんし、
Anhttp上で、それを走らせ使おうという気持ちも今のところありません。
同時アクセス制限を行い問題が出ていませんので、今のところは十分です。
どうしても必要が生じた場合は、Apache上で、プログラムを動作させます。
ただ、こんな機能もあったらどうかという気持ちでカキコしました。
(自鯖を構築している友人が、結構この問題に悩まされていましたので)


中田昭雄 nakata@st.rim.or.jp 2003/02/02 17:23

MIYAさん、
私としては、CGI(Perl,PHP)でやる、Apacheでやってみる、コンテンツを他のサーバに置く、同時アクセス制限で我慢する、などのいずれかの別の手段の方がいいと思っています。


MIYA miyaxxx@hotmail.com 2003/02/02 14:39

中田さんこんにちは。

レジストリで設定していたんですね。
書き換えて動かせるのかどうか色々と試してみます。
時間はかかると思いますが、結果が出たらご報告します。


中田昭雄 nakata@st.rim.or.jp 2003/02/02 07:54

MIYAさん、
設定ファイルの話であれば、AN HTTPD はレジストリ(という設定ファイル)を使っています。
拒否IPについては HKEY_LOCAL_MACHINE\Software\AnHttpd\default\ACL\0\DenyIP を(プログラムなどで)書き換えればOKです。
設定変更後、サービスで稼動しているのであれば net stop/start で AN HTTP Service を再起動してやる必要があるとは思いますが。

あるいは、ダウンロードしてもらうものだけポートを変えて Apache でやってみるというのでもよいのではないでしょうか?


MIYA miyaxxx@hotmail.com 2003/02/01 21:18

もう一つありました。

>Apache(のモジュール)を使うというのが有力な選択肢のひとつでしょう。
その通りです。Apacheを使い、プログラムを走らせれば可能です。

しかしながら、Apacheは設定が複雑であり、万人向けではありません。
また、サーバソフトとしてのスピードも、Anhttpより結構劣ります。
こういった理由から(他にもありますが)、私はAnhttpを使っています。
更に、「外部設定ファイルが読み込み可能」であれば、言う事はありません。
これが可能になれば、プログラムを動かして、自動で設定が変更できます。
場合によっては、外部から設定ファイルだけを送って変更もできます。
こういった使い方をやりたい人っていないんでしょうか?


MIYA miyaxxx@hotmail.com 2003/02/01 21:08

中田さんこんにちは。

「制限を越えたアクセスに対し、一定時間排除」の件ですが、htaccessの設定だけではできません。
複数アクセスを監視し、複数アクセスがあったIPをhtaccessに登録し、
一定時間経過したら登録を削除する、というプログラムを作り走らせます。
仮に、www.xxx.yyy.zzzというIPで複数アクセスがあった場合、
www.xxx.yyyまでをdenyとして登録して、一定時間排除します。
従って、他の方を排除してしまう可能性もあります。
同時の判断は、一定時間中に同じIPでリクエストがあったとき同時と見なします。
制限のやり方自身は、Anhttpで行われている、IPでの制限と全く同じです。
Anhttpでは、制限を行いたいときには設定画面を開いて入力し、
一定時間経過後に制限を解除するときも、同じように人の手を必要とします。
この設定を外部プログラムで行う事ができれば、自動での一定時間制限ができます。
(別に外部でなくても機能としてあればいいんですが・・・・。)
Apacheの場合は、htaccessがあるため、それを自動的に書き換える事で可能という事です。
Anhttpでも、制限に関して外部の設定が読み込む事ができるようになるか、
設定を保存しているファイルがあり、その中の制限の詳細が解っており、
その設定ファイルの制限部分を一定時間ごとに書き換える事が可能であれば、
そのようなプログラムを作って走らせるだけで可能になります。


中田昭雄 nakata@st.rim.or.jp 2003/01/29 21:28

MIYAさん、
「制限を越えたアクセスに対し、一定時間排除」というのは Apache(のモジュール)の.htaccess の設定でできるのですか?
それができるのなら、Apache(のモジュール)を使うというのが有力な選択肢のひとつでしょう。

同時アクセス制限のやり方は、アクセス元のIPを見て制限しているだけです。その詳細がわかれば簡単にできるのでしょうか??


MIYA miyaxxx@hotmail.com 2003/01/29 11:30

中田さん回答ありがとうございます。

制限を越えたアクセスに対し、一定時間排除するというのは、
確かに、HTTPサーバ本来の意味からは外れます。
しかしながら、ある程度の自己防衛も必要ではないかとも考えています。
それなりのCGIでできるとも思いますが、
サーバプログラムとの連携も必要になってくると思います。
Apacheのhtaccessの様な機能があれば良いんですが、
ToDoの下の方にあるようですし、すぐには無理ですね。
Anhttpには、同時アクセスを制限する機能があるので、
この機能の制御方法が解れば簡単なのですが・・・・。
中身を公開しろと言っているようなモノですから無理ですね。

もう少し方法を色々と考えてみます。


中田昭雄 nakata@st.rim.or.jp 2003/01/28 20:57

MIYAさん、
HTTPサーバの機能としてそういうアクセス制限を組み込むのはあまり気乗りしません。
やるとすれば、それなりの CGI でできるのではないでしょうか。


MIYA miyaxxx@hotmail.com 2003/01/28 11:50

初めまして、AN HTTP Server 使わさせていただいております。

細い回線なので現在アクセス制限を行っていますが、
ダウンロードツールなどを使って複数アクセスが無くなりません。
一定以上の複数アクセスを行ったホストに対し、
一定時間アクセスを拒否するような設定はできないのでしょうか。
(と言うよりは、その様な機能が追加できませんでしょうか)