Apache関連 Part11
レス数が900を超えています。1000を超えると表示できなくなるよ。
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/
0818名無しさん@お腹いっぱい。
2012/03/28(水) 14:48:53.59状況によっては、こっちのほうがいいかもね。
IndexOptions +Charset=UTF-8
0819名無しさん@お腹いっぱい。
2012/04/09(月) 10:22:04.59apacheで大量のコンテンツを処理する必要があるんだけど、
画像コンテンツは転送が完了するまでapacheのMaxClientsを消費するんだろうか?
ユーザが遅い回線で見てたらMaxClientsはどんどん消費されるんだろうか?
0820名無しさん@お腹いっぱい。
2012/04/09(月) 10:25:22.24する
0821名無しさん@お腹いっぱい。
2012/04/09(月) 11:13:07.000822名無しさん@お腹いっぱい。
2012/04/09(月) 11:18:46.94助かった。
0823名無しさん@お腹いっぱい。
2012/04/16(月) 15:11:55.08PHPスクリプトをWEB公開ディレクトリに配置した状態で(←これがあまり宜しくないとは思うけど)
ブラウザからはアクセス出来ないけれど
cronからはキック出来る様にはどうしたらいいですか?
0824名無しさん@お腹いっぱい。
2012/04/16(月) 16:52:06.390825名無しさん@お腹いっぱい。
2012/05/23(水) 13:56:45.86前準備としてブラウザより各ディレクトリ(ファイル)にアクセス
できることの確認を行っているのですが
なぜかcakephpディレクトリの中にはアクセスする事が出来ません。何が原因なのでしょうか?
※そもそも.htaccessを無効にしたのでアクセス出来なくちゃならないハズなんですが・・・
【ブラウザからアクセスした場合】
◯ http://localhost/hoge/test.php
× http://localhost/cakephp/test.php
【cakephpディレクトリ内のファイル】
/var/www/html/cakephp
test.php
.htaccess → リネーム: htaccess_bk
【コマンドラインから直接スクリプトを叩いた場合】
[root@localhost cakephp]# php test.php
string(4) "test"
0826名無しさん@お腹いっぱい。
2012/05/23(水) 14:17:16.57パソコンが動きませんレベルで、解答しろと?
0827825
2012/05/23(水) 14:30:11.32すみません。ログを載せるのが漏れてました。
やはり、
.htaccess を無効にしているのに表示されないのは不思議でなりません。
【Apacheのエラーログ】
[Wed May 23 14:25:00 2012] [error] [client 127.0.0.1] (13)Permission denied: access to /cakephp/test.php denied
0828名無しさん@お腹いっぱい。
2012/05/23(水) 14:46:43.86logに書いてあるとおり、パーミッション権限の設定によりアクセス不可能。
こんな、中学レベル以下の英語が読めないのはどうかと思う。
0829名無しさん@お腹いっぱい。
2012/05/27(日) 19:28:07.50ProxyRequests On
ProxyVia On
<Proxy *>
Order deny,allow
Deny from all
Allow from internal.example.com
</Proxy>
</VirtualHost>
こんな設定でフォワードプロキシしてるときに、リクエストを8889番ポートに流そうと以下の設定を追加しても流れないんですが、どう書けば流せますか?
RewriteEngine On
RewriteRule ^/(.*)$ http://localhost:8889/$1 [P,L]
0830名無しさん@お腹いっぱい。
2012/05/27(日) 19:39:20.22基本的にはバーチャルホスト外に書いたRewriteRuleはバーチャルホスト内には適用されない。
(参考) http://httpd.apache.org/docs/2.2/mod/mod_rewrite.html#rewriteoptions
そのRewriteRuleをVirtualHostの中に書けば済む話だし、
さらに言えばRewriteRuleじゃなくてProxyPassで書けばいい
0831名無しさん@お腹いっぱい。
2012/05/27(日) 19:50:02.94レスを参考に下のように設定を書き換えてapacheを再起動しましたが、解決しませんでした。
8889番で待ち受けている方にはアクセスが来ないままです。
<VirtualHost *:8888>
ProxyRequests On
ProxyVia On
<Proxy *>
Order deny,allow
Deny from all
Allow from internal.example.com
</Proxy>
ProxyPass / http://localhost:8889/
</VirtualHost>
0832名無しさん@お腹いっぱい。
2012/05/27(日) 21:58:02.730833名無しさん@お腹いっぱい。
2012/05/27(日) 23:57:37.65できました。ありがとうございます。
RewriteRuleやProxyPassはリバースプロキシのときに使うものでした。
0834名無しさん@お腹いっぱい。
2012/06/02(土) 19:10:21.94REMOTE_ADDRベースの allow / deny リストをLDAPに移したいのですが、
そういったモジュールあるでしょうか?
http://httpd.apache.org/docs/2.0/ja/mod/mod_auth_ldap.html
これはどうも REMOTE_USER を見ている様子なので。。
mod_perl で自分で作るしかないですかね
0835名無しさん@お腹いっぱい。
2012/06/08(金) 00:17:11.10httpdのプロセスがそれだけ占有されます。
そのipからはだいたい1分間に20回くらいのリクエストなのでそれほどアクセス量は多くありません。
KeepAliveTimeoutは5秒です。
接続が長時間残る原因はどんなものが考えられるでしょうか?
centos、apache2.2です
0836名無しさん@お腹いっぱい。
2012/06/08(金) 09:28:14.87ちゃんと時間どおり切れるのかどっちだ。
前者なら知らね。後者なら単に常にkeepaliveでリクエストするように
プロクシが設定されてるだけなんじゃね。
0837名無しさん@お腹いっぱい。
2012/06/08(金) 10:36:12.950838名無しさん@お腹いっぱい。
2012/06/08(金) 10:42:16.930839835
2012/06/08(金) 11:57:00.39keepalivetimeoutを変更してみたりもしたのですが全く状況は変わりません。
あきらかに設定の5秒より長く接続が維持されています(というかリクエストが終わっても分単位で接続されっぱなしになる)
proxyの可能性ですか・・・一応リクエストヘッダにはproxy経由っぽいヘッダは無いのですがそれは秘匿できるのかな。
クライアントがproxyを使っているとこちらのkeepalivetimeoutの設定と関係なく長時間keepaliveを維持することもできちゃうということなのでしょうか?
0840名無しさん@お腹いっぱい。
2012/06/08(金) 12:12:24.94スローロリス対策用のタイムアウトの方を短くしてみるとか。
0841名無しさん@お腹いっぱい。
2012/06/08(金) 13:22:29.04http://setup.192.168.0.254.xip.io/
0842835
2012/06/08(金) 22:00:27.32相手のproxyとかネットワーク機器とウチのサーバとの相性みたいなのもあったりするのかなあ。
その他大勢のユーザーは問題ないのだけども。
0843名無しさん@お腹いっぱい。
2012/06/09(土) 05:58:06.40Timeoutで足切りすればいいじゃん。
0844名無しさん@お腹いっぱい。
2012/06/13(水) 23:24:06.530845名無しさん@お腹いっぱい。
2012/06/14(木) 00:02:46.49レポート楽しみにしてるよ
0846名無しさん@お腹いっぱい。
2012/06/18(月) 18:59:16.75mrubyって require 機能が無いんだな (mrubyコアに組み込みコンパイルする必要がある)
sockも無いので、DBとのインターフェース設計どうしようかねぇ
0847名無しさん@お腹いっぱい。
2012/06/22(金) 08:53:40.59prifixが付いたり付かなかったりするようです。
とあるアクセスを「/robots.txt」に置換する場合
local path result: /robots.txt
prefixed with document_root to /www/htdocs2/robots.txt
go-ahead with /www/htdocs2/robots.txt [OK]
と出るのですが下位ディレクトリの「/lib/robots.txt」に置換しようとすると
local path result: /lib/robots.txt
go-ahead with /lib/robots.txt [OK]
とprifixが付かずにLinuxRootからのパスが存在しないディレクトリとなります。
必ずprifixが付くようにするにはhttpd.confに何を設定すれば良いでしょうか?
0848名無しさん@お腹いっぱい。
2012/06/22(金) 09:02:39.91CentOS 6.2
apache 2.2.22
apacheはソースからインストールしています。
0849名無しさん@お腹いっぱい。
2012/06/22(金) 14:36:48.520850名無しさん@お腹いっぱい。
2012/06/23(土) 00:04:36.44付けないらしいのですが、httpd.confでやってる場合は先頭に/を
付けるらしいです。/を付けないとエラーとなりました。
0851名無しさん@お腹いっぱい。
2012/06/25(月) 22:34:55.83GET /xxxxx/undefined HTTP/1.1
PHP,Javascriptなどのソースプログラムは何も変更していません。
原因などお分かりの方、教えて下さい。
0852名無しさん@お腹いっぱい。
2012/06/25(月) 23:00:42.060853名無しさん@お腹いっぱい。
2012/06/26(火) 09:25:15.43今まで気づかなかったバグがはっかくしただけ、よくある話。
0854名無しさん@お腹いっぱい。
2012/06/27(水) 18:48:36.80スパム対策に検討しています。
0855名無しさん@お腹いっぱい。
2012/06/27(水) 19:18:31.59RFC読んでこい。
0856名無しさん@お腹いっぱい。
2012/06/27(水) 19:21:38.29それ何かメリットあるの?
0857名無しさん@お腹いっぱい。
2012/06/27(水) 22:35:01.82mod_rewriteでsleep(3600)なプログラムに飛ばすとか?
ただ、スパムが嫌なら404とか403とか返せばいいじゃん
0858名無しさん@お腹いっぱい。
2012/06/27(水) 23:45:21.680859名無しさん@お腹いっぱい。
2012/06/28(木) 00:00:33.420860名無しさん@お腹いっぱい。
2012/06/28(木) 01:32:07.560861854
2012/06/28(木) 12:03:51.21パケットフィルタでやるべきっぽいですね。
ありがとうございます。
0862名無しさん@お腹いっぱい。
2012/06/28(木) 12:37:20.77「頭の悪いスパム」がそんな頭のいいことするか?
0863名無しさん@お腹いっぱい。
2012/06/28(木) 12:59:09.500864854
2012/06/28(木) 14:09:47.83そうすればスパム側からアタック数を鈍らせることができるのではと思いました。
SSHでの接続も同様に反応させない方が効果的な場合があるので。
0865名無しさん@お腹いっぱい。
2012/06/28(木) 14:30:09.68でも、誤爆することもあって評判悪い手法だよ
0866854
2012/06/28(木) 14:33:27.37似てますね。
検索エンジンにも載せたくないクローズドなサービスでPCからはアクセスできないようにしています。
そのため、PCからの解析目的やアタックを禁止したかったのです。
たしかに誤爆は怖いですね。
0867名無しさん@お腹いっぱい。
2012/06/28(木) 14:52:47.31パスワードかけるなりアクセス元限定するなりしないと。
0868名無しさん@お腹いっぱい。
2012/06/28(木) 16:32:31.700869854
2012/06/28(木) 17:45:49.890870名無しさん@お腹いっぱい。
2012/06/28(木) 17:47:25.800871854
2012/06/28(木) 17:51:21.27この話題はここでクローズさせていただきます。
403のままでいこうかなと思います。
0872名無しさん@お腹いっぱい。
2012/06/28(木) 18:06:09.34推測されるとマズいのか?
0873名無しさん@お腹いっぱい。
2012/06/28(木) 22:33:22.33> PCからの解析目的やアタックを禁止したかったのです。
アクセス出来ないようにしているのに禁止したいってどゆことやろ・・・
0874名無しさん@お腹いっぱい。
2012/06/28(木) 22:34:03.050875名無しさん@お腹いっぱい。
2012/06/28(木) 22:42:28.270876名無しさん@お腹いっぱい。
2012/06/28(木) 23:40:29.140877名無しさん@お腹いっぱい。
2012/07/02(月) 18:50:02.42ここの人間はそれも否定するのか?
0878名無しさん@お腹いっぱい。
2012/07/02(月) 18:58:07.250879名無しさん@お腹いっぱい。
2012/07/02(月) 20:56:23.65メールは詰まっても相手が待ってくれるし、同一IPからの接続数制御が拡張じゃなく実装されてるし
一秒に数百の転送とかあまり機会無いし
まぁ、mod_cbandあたりを検討してみたまえと。
0880名無しさん@お腹いっぱい。
2012/07/02(月) 20:58:12.71というかTarpittingでも負荷が馬鹿にならないからpostscreenが作られたんじゃなかったっけ…
0881名無しさん@お腹いっぱい。
2012/07/02(月) 21:02:36.50HTTPの攻撃は詰まってもゆっくり攻撃続けるだけ。
0882名無しさん@お腹いっぱい。
2012/07/02(月) 22:51:51.500883名無しさん@お腹いっぱい。
2012/07/08(日) 10:50:27.02mod_wsgi:デーモンプロセスモード(プロセスを複数起動)
として連携しているときのリクエストとデーモンプロセスの紐付けについて質問です。
リクエストのクッキー(セッション番号)を識別して、mod_wsgiの
デーモンプロセスにリクエストを振り分けることはできないでしょうか?
※リクエストに紐付けたいのはmod_wsgiのデーモンプロセスであって
apacheの子プロセスではありません
製品アプリになのですが、
http://www.4d.com/4d_docv13/4D/13/Web-Sessions-Management.300-862107.ja.html
ここに書かれているようなことをapache+mod_wsgiでやりたいということです。
【内容抜粋(ここから)】
4D Webサーバーはユーザーセッションを容易に管理するメカニズムを提供します。
この自動メカニズムを使用して、後のリクエストでWebクライアントが同じコンテキスト
(セレクションや変数の値) を再利用できます。
このメカニズムでは4Dが自動で設定するプライベートな"4DSID"という名前のcookieを使用します
(cookie名は変更できます)。Webクライアントからリクエストを受信するたびに4Dは4DSID cookie
が 送信されてきたか、またその値をチェックします
cookieの値がリクエストヘッダーに含まれていれば、4Dは存在するWebプロセスの中から
対応するプロセスを検索します。
プロセスが見つかれば、そのプロセスがWebリクエストの処理に使用されます。Compiler_Web
メソッドは実行されません。
プロセスが見つからない場合、4Dは新しいプロセスを作成します。
cookieがリクエストヘッダーに含まれていなければ、4Dは新しいコンテキストを作成します。
【内容抜粋(ここまで)】
何卒よろしくお願いします
0884名無しさん@お腹いっぱい。
2012/07/08(日) 20:30:29.97Googleに聞けよ
0885名無しさん@お腹いっぱい。
2012/07/16(月) 03:05:28.79自分のサーバでテストしたところ数分でログが100MBに達しました
皆さんは何か対策してますか?
0886名無しさん@お腹いっぱい。
2012/07/16(月) 03:23:25.20リクエスト長制限しておけばいいんじゃね
そもそもdisk fullより先にサービス停止ちゃいそうだけど
0887名無しさん@お腹いっぱい。
2012/07/16(月) 08:37:01.760888名無しさん@お腹いっぱい。
2012/07/17(火) 07:31:48.79rotatelogs でサイズ単位でローテート、とか?
0889名無しさん@お腹いっぱい。
2012/07/17(火) 23:05:39.180890名無しさん@お腹いっぱい。
2012/07/18(水) 16:39:52.63ErrorLog "|bin/rotatelogs /var/logs/errorlog.%Y-%m-%d-%H_%M_%S 5M"
http://httpd.apache.org/docs/2.2/programs/rotatelogs.html
0891名無しさん@お腹いっぱい。
2012/07/18(水) 16:52:02.40おわかりいただけただろうか?
089277
2012/07/18(水) 21:33:36.54いろいろ調べてみると、VMWareがポート443を使っているため
競合して起動できないようです。
VMWareの変更はできないようなので、Apache側を変えたいのですが
どうすればよいでしょうか?(同一環境内で)
0893名無しさん@お腹いっぱい。
2012/07/18(水) 21:49:21.24Listenいじってポートを変える
0894名無しさん@お腹いっぱい。
2012/07/18(水) 21:54:42.050895名無しさん@お腹いっぱい。
2012/07/18(水) 22:00:40.36しかもsslの
kvmのを動かした方が早そうだけど…
0896892
2012/07/19(木) 00:05:19.11Listenってhttpd-ssl.confでポート443が使われてたので444に変えてみました。
これってSSL使うウェブサイト作ると問題出てきますか?
0897名無しさん@お腹いっぱい。
2012/07/19(木) 01:07:58.62外部に公開するWebサイトならポートは変えないほうがいいです
変えるなら>>895さんが言うとおりkvmの方のポートですね
0898名無しさん@お腹いっぱい。
2012/07/19(木) 01:52:13.780899名無しさん@お腹いっぱい。
2012/07/19(木) 03:04:31.46apacheはアドレス指定でバインドすればいい。
両方とも443で待てる。
0900名無しさん@お腹いっぱい。
2012/07/29(日) 18:23:10.89のチルダ抜きでのアクセスで
ln -s /home/username/public_html /var/www/username
で対処するのってまずいですか?
AliasMatch使ったほうがいいですか?
0901名無しさん@お腹いっぱい。
2012/07/29(日) 19:07:41.980902名無しさん@お腹いっぱい。
2012/07/29(日) 21:05:37.99そんな感じのことってありますか?
0903名無しさん@お腹いっぱい。
2012/07/29(日) 21:21:36.050904名無しさん@お腹いっぱい。
2012/07/29(日) 21:26:18.47setuidにさえ気を付ければこのやり方固有の問題は無いってことですね
ありがとうございます
0905名無しさん@お腹いっぱい。
2012/07/30(月) 01:15:17.020906名無しさん@お腹いっぱい。
2012/07/30(月) 02:49:11.92ありがとうございました
0907名無しさん@お腹いっぱい。
2012/08/01(水) 12:42:37.17サーバー上からコマンドラインで取得するには、どうすればいいでしょうか?
apachectlを使ってみたところ、
>apachectl status | grep -i "requests currently being processed"
1 requests currently being processed, 7 idle workers
となって、httpで接続しても1 requestsのまま変わりません。
httpでアクセスすると接続本数が0→1になって、ページを閉じて、
KeepAliveTimeOutに設定した時間を過ぎると、1→0となってほしいのですが。
0908名無しさん@お腹いっぱい。
2012/08/01(水) 14:05:16.840909名無しさん@お腹いっぱい。
2012/08/01(水) 14:38:29.00情報を取得してるってことは理解してる?
その接続のぶんもカウントされるからゼロになることはないよ。
0910907
2012/08/01(水) 16:01:32.35netstatでもできました。
$ netstat -an -p tcp | awk '{ if($4=="192.168.1.1.80" && $6=="ESTABLISHED") print($0)}' | wc -l
>>909
あ、なるほど。解説ありがとうございました。
KeepAliveTimeOutに設定した時間を過ぎると、2→1となることが確認できました。
0911名無しさん@お腹いっぱい。
2012/08/01(水) 22:22:45.30module_rewriteを使って、
rewriteruleで[R=ステータスコード]とする方法を試しました。
3xx系はいけたんですが、4xx/5xx系のステータスコードを設定すると、
なぜかapacheが用意済み?の英語メッセージになります。
こういったやり方は駄目なんですか?
RewriteRule 元URL 遷移先URL [L,R=503]
※同一ステータスで異なる遷移先が必要なので、
ErrorDocumentを使う方法はNGかなと考えてます。
0912名無しさん@お腹いっぱい。
2012/08/02(木) 01:01:20.550913名無しさん@お腹いっぱい。
2012/08/02(木) 02:26:19.120914名無しさん@お腹いっぱい。
2012/08/16(木) 17:27:11.84ProxyPass /hoge/ http://a.b.c.d/hoge/
↑これはうまく動いてます
どうせならベーシック認証も同時に通すかと
ProxyPass /hoge/ http://id:pass@a.b.c.d/hoge/
↑こうすると、リバプロとしては動きますがis:passのベーシック認証が通りません
リバースプロクシーにベーシック認証のid:passを書いて使う方法はないですか?
なんでここにid:passを書きたいかというと、リバプロで複数台ぐらいのWebサーバーを集約すると、
集約元の各サーバーのベーシック認証のid:passをブラウザが覚えてくれないからです
0915名無しさん@お腹いっぱい。
2012/08/16(木) 17:52:37.320916名無しさん@お腹いっぱい。
2012/08/16(木) 18:14:24.15パスワードは全部違うんですけど
0917名無しさん@お腹いっぱい。
2012/08/16(木) 19:53:55.69ブラウザもあるかもね
レス数が900を超えています。1000を超えると表示できなくなるよ。