apache
build/rpm/httpd.init。statusのとこの${pidfile} の変数が間違ってる $ diff -u httpd.org httpd --- httpd.org 2010-12-09 18:18:51.000000000 +0900 +++ httpd 2010-12-09 18:19:01.000000000 +0900 @@ -116,7 +116,7 @@ if ! test -f ${pidfile}; then e…
http://httpd.apache.org/docs/2.2/en/mod/mod_cache.html http://httpd.apache.org/docs/2.2/ja/mod/mod_cache.html "Studying HTTP" HTTP Header Fields apacheの日本語のdocumentはversionが古くて、いくつかのdirectiveの説明が無い。他には Caching Gui…
http://httpd.apache.org/docs/2.2/en/mod/mod_proxy.html#proxypass http://httpd.apache.org/docs/2.2/ja/mod/mod_proxy.html#proxypass timeoutとかconnectionとか。今まで真面目にみてなかったので。mod_proxyのdocumentは翻訳が追いついてないためか、…
http://archive.apache.org/dist/httpd/CHANGES_2.2 ProxyPassのパラメータ検討してて、色々見てたら表記の記述を発見。 *) mod_proxy: Complete ProxyPassReverse to handle balancer URL's. Given; BalancerMember balancer://alias http://example.com/fo…
spamの温床になるのでポート制限をしていないopen proxyはやめましょうっていう。当たり前だけど。 apacheのmod_proxy を使う話 http proxyサーバに接続後 CONNECTメソッドでsmtpサーバへ接続 apache で実装する場合、mod_proxy、mod_proxy_connect を有効に…
思いつきエントリで。リポジトリのファイルをwebから直接参照したい場合に。 通常のsubversionの設定だと、index.html とかのファイルにアクセスしてもContent-typeがplain/textなのでhtmlソースが表示される。また、ただのテキストな設定ファイルでもエンコ…
ボディの一部分を取得するとき。レジュームによる再DLとか。応答は206 Partial Contentになる。ただし、apacheでcgi/ssiを使っていて、Centent-Lengthを返さない場合はRangeリクエストされても、200 OKでボディ全体を返す。cgi/ssi でもアプリ側でContent-Le…
っていうことを知らなかった。versionによるかも? 試したのは2.2.15。rangeリクエストはレジュームによる再DLとかで、コンテンツの一部を取得したいときに使う。他には携帯で動画をDLして再生するときとかに使われてる? http://www.studyinghttp.net/heade…
なんか噂に聞いたのでやってみた。携帯向けではContent-Lengthが必須ヘッダ(docomoとsoftbank)となっているけど、cgi/ssiだと (cgiはアプリ側で記述していなければ) Content-Lengthヘッダは追加されない。でもmod_deflateで圧縮すればapacheが勝手に追加して…
http://silmor.de/49 http://blog.yoheis.net/2007/08/webdav.html http://blog.dealforest.net/2009/07/subversion_behind_an_apache_reverse_proxy/ http://httpd.apache.org/docs/2.2/ja/mod/mod_headers.html#requestheader http://httpd.apache.org/doc…
断片部に書いてた(放置してた)メモにphpのこと追記して整理。 今までにメモってた色々なエントリ (主にphpをcgiで動作させる関連) apache + suexec, suphp phpのinstall - SAPI cli, cgi, apache DSO module メモ suphpでphp.iniの設定を上書きする phpをcgi…
素のcgiモードで動かす場合と比較して。 mod_actionの設定が不要 どのURLにAliasするとかとか考えなくてよい 実行されたphpを特定しやすい suexecのログにはphp-cgi しか記録されない suphpのログには実行したphpファイルまで記録される もちろんsuexec + ac…
http://www.php.net/manual/ja/features.commandline.php http://www.php.net/manual/ja/security.cgi-bin.php http://d.hatena.ne.jp/hogem/20090809/1249801747 今まで専用サーバだからほとんどapache moduleとして入れていたけど、共有サーバだからcgi版…
preforkのサーバは制限できてるけど、workerでは効いてないぽいので調べた。 設定 ## 120 second RLimitCPU 120 ## 64M byte RLimitMEM 67108864 確認用のcgi とりあえず無限ループするだけのcgi。RlimitCPUはプロセス生存時間じゃなくてCPU利用時間の制限な…
http://norainu.net/mt/archives/2005/08/multiviewsmatch.html http://httpd.apache.org/docs/2.2/ja/mod/mod_mime.html#multiviewsmatch http://httpd.apache.org/docs/2.2/ja/content-negotiation.html#extensions MultiViewsを使うとファイルの拡張子を…
http://httpd.apache.org/docs/2.2/ja/mod/mod_negotiation.html http://httpd.apache.org/docs/2.2/ja/content-negotiation.html http://httpd.apache.org/docs/2.2/ja/mod/mod_mime.html Options MultiViewsで設定。Webブラウザ(つかHTTP Request Header)…
あれー勘違いかな。今さらながら初歩的なところに疑問が。 http://httpd.apache.org/docs/2.2/ja/sections.html#file-and-web ここのmanualにあるように、 <Location /private> Order Allow,Deny Deny from all </Location>と設定すると、/privateから始まるURL http://yoursite.example.co…
apache1.3系を使う機会がなくなってきたけど、たまに要るので。apache1.3系はソースで上限が256固定なので、変更したいなら $ grep HARD_SERVER_LIMIT src/include/httpd.hで出てくる値を適当に変更する。2.0, 2.2だとServerLimitディレクティブで変更可能。
mod_pythonでも効果があったので、trac.cgi経由の場合はもっと顕著に効果が出そう。 直接apache(aliasとtrac.iniのhtdocs設定)で応答した場合 $ ab -c 10 -n 100 http://example.com/tracdocs/css/trac.css | grep 'Requests per sec' Requests per second: …
気がする! なぜProxyPassReverseにbalancer://~~ を設定できないのか *1 なぜProxyPassReverseにajp://~~ を設定できないのか なぜbackendがhttpとajpの場合で、ProxyPassReverseに設定するURLが異なるのか などなど。今まではmod_proxyする機会がほとんど…
Directory、Locationなどを複数書いて設定している場合(特にIncludeで入れ子してる時とか)は、うっかりしていると設定間違えかねないので注意ですね。 http://httpd.apache.org/docs/2.2/ja/sections.html#mergin 適用される順番 (正規表現無し) と .htacces…
RewriteRule ^/hoge/(.*) ajp://localhost:8009/hoge/$1 [QSA,P,L] もしくは ProxyPass /hoge ajp://localhost:8009/hoge とかした場合でもhost headerはlocalhostじゃなくて、originalのHTTPのhost headerを送る。tomcatでvirtualhost(CATALINA_HOME/localh…
最近のssl/tlsはLBで終端しているのでmod_sslのことほぼ忘れている。 http://httpd.apache.org/docs/2.2/ja/mod/mod_ssl.html#sslcacertificatefile SSLCACertificateFile /path/to/cert.pem
サイト全体でErrorDocumentを設定しているけど、特定ディレクトリだけ設定を外したいときとか。もっとややこしい記憶があったんだけど、こんな簡単だったか。 http://httpd.apache.org/docs/2.2/ja/mod/core.html#errordocument <Direcotry /path/to/hoge > ErrorDocument 403 default </Directory>
RedirectはURLを引き継ぐけどRedirectMatchはでキャプチャした変数を使わない場合は引き継がない。というのをたまに忘れる。 Redirect /foo http://exmaple.com/foo RedirectMatch /bar http://example.com/bar RedirectMatch /baz/(*) http://example.com/b…
## 追記 改めて自分の書いた記事を見たら日本語の意味がよくわからないw 結論はRewriteCondに[OR]を書くと、次のRewriteCond とのORになる、ということ ## 追記おわりANDのほうが優先順位高いと思ったら、RewriteCondはORのほうが上なのか?携帯から/m/以外…
ん?apacheのErrorDocument、というかエラーページの出しかた変わった?当然だけどErrorDocumentのURL自体に、アクセス権がない(IP許可されてない)場合、ErrorDocmentは表示されないんじゃなかったっけ? 例えばこんな設定で、documentroot以下に/errがある…
参考 http://httpd.apache.org/docs/2.2/ja/suexec.html http://httpd.apache.org/docs/2.2/ja/mod/mod_suexec.html http://bitarts.jp/tech/linux/suexec.html http://www.aconus.com/~oyaji/www/apache_linux_suexec.htm cgi + suexec cgiをapacheユーザじ…
必要になりそうなので調べた。apache 2.2で試したところ普通に使えるっぽい。 参考 http://sysdesign.pl/mod_cband/ mod_cband 帯域/同時接続数制限 ## kbps rps connection CBandSpeed 1024 10 30 status <Location /cband-status> SetHandler cband-status </Location> directive一覧 sourceの…
ちょいとslowlorisを実験してみようとvmware上のdebian5で動かしたんだけど、一向にサーバのapacheが落ちない。なんだかな〜と思って別の物理的なサーバからslowloris実行したらあっさり落ちた。 ホストOSのWindowsもしょぼしょぼだから、そんなもんなのかな…