apache
64bit OSだとVSZが100M超えている。実際の消費メモリは10M程度で32bit OSとあまり変わらず。ほぼ同じ環境の32bit OSだと10~20Mぐらいだったような。 $ ps aux | egrep 'VSZ|apache' USER PID %CPU %MEM VSZ RSS TTY STAT START TIME COMMAND root 14737 0.0 …
2011/12/04 追記 このエントリ内でmod_rpaf v0.6 では変換したIPでアクセス制御 (allow, deny) が可能と書いてますが、間違っている可能性大ですすいません。 昔すぎて環境も設定もログも残ってないので何とも言えないのですが、勘違いしていただけかもしれ…
User-Agentではなく、IPアドレスできちんと制限したい場合のお話。もちろんキャリアが公開しているIPアドレスを書いておけばいいのだけど、変更があった場合に漏れなく対応したいっていう。思いつきで書いてみる。 追記 IPアドレスを所持していて、かつそのP…
メンテ中にRewriteRule使う時にダメ元でR=503を指定してみたら、見事に503が返った。 RewriteEngine On RewriteCond ^/error/ - [L] RewriteRule ^/ /error/503.html [R=503]
httpは行けるのに、httpsはなんでかForbiddenになる。。。と思っていたらmod_proxy_connectもいるのかー。 http://httpd.apache.org/docs/2.2/ja/mod/mod_proxy.html#allowconnect AllowCONNECT はプロキシの CONNECT メソッドが接続を許可するポート番号の…
多段プロキシにするときとか。簡単だな。 # ProxyRemote match remote-server # remote-server = scheme://hostname[:port] ProxyRemote * http://proxy.example.com:8080/ http://httpd.apache.org/docs/2.2/ja/mod/mod_proxy.html#proxyremote scheme は実…
環境変数をexportするだけでよかった。あれ?前はこれだけじゃダメだったような気がしたんだけど。勘違いかな。勘違いだな、うん。apachectlがsource installだとAPACHE_ROOT/bin/envvarsを、debianのpackageだと/etc/apache2/envvarsファイルを読み込む設定…
バーチャルホストのサイトにabしたくて $ ab -n 100 -c 10 -H 'Host: www.example.com' http://192.168.0.1/としてるのに、実際にリクエストしてるヘッダは GET / HTTP/1.0 User-Agent: ApacheBench/2.0.40-dev Host: 192.168.0.1 Accept: */*. Host: www.ex…
http://hain.jp/index.php/tech-j/2007/04/02/mod_layout http://linux.mini13i.gotdns.org/Apache/mod_layout.html http://download.tangent.org/ http://d.hatena.ne.jp/hogem/20070424/1177386989 コンテンツ作ってる人がやたらと.htmlでSSIを使いたがる…
QSA、QSAって覚えてるうちに、なにそれ?となってしまった。query string append、とまともに覚えればよかったな。このフラグがないと、RewriteRule時にクエリ文字列が消える。 http://wiki.bit-hive.com/tomizoo/pg/mod_rewrite%20-%20QSA%A5%D5%A5%E9%A5%B…
apache 2.2。もしhttpd.conf、virtualhost全体でSetoutputFilter DEFLATEとか設定されていた場合に、特定の場所だけしたくない場合はどうしたらいいんだろう。RemoveOutputFileterは拡張子ごとだしなぁ。 Accept-Encodingヘッダを消せばいい? <Directory /hoge/ > RequestHeade</directory>…
某サイト*1で実験してみたら、下りのトラフィックが約2/3になった。設定前と比較してCPU使用率、load averageはほとんど変わらず。DeflateCompressionLevelとかは設定せずデフォルトのまま。 *1:PVは約50万/day
apacheで↓の設定をしている場合に困った。httpsのページでphpmyadminにログインするとhttpに飛んだ。しかもport:443の。 SSLアクセラレータ配下のapacheで、アクセスがhttpかhttpsかを判別する方法 https://www.sample.com/phpmyadmin/ にアクセスしてログイ…
URLに%2F(スラッシュ"/"をエンコードした文字)が含まれると404になる〜と悩んでいたら、デフォルトで拒否されるのを思い出した。 http://httpd.apache.org/docs/2.2/ja/mod/core.html#allowencodedslashes 許可する場合は AllowEncodedSlashes On ただしhttp…
ここまで制限する必要があるかどうかはさておき。デフォルトではhtaccessが使用可能なら上書きできてしまう(AllowOverRide Fileinfo)。なのでhtaccessは使用させたいけど、リソース制限したい場合はserver/core.cを書き換えないとダメらしい。 参考 http://m…
server側では DeflateFilterNote ratio LogFormat '"%r" %b (%{ratio}n) "%{User-agent}i"' deflate CustomLog logs/deflate_log deflate とかすればログで確認できるんだけど、clientではどうすればいいのかな。Accept-Encodingヘッダでgzipを送るだけでい…
apache + mod_proxy(_ajp) + tomcatしてる状況で、tomcatとの通信のHTTP headerを見ると、レスポンスヘッダにEtagが出ていた。apacheだとFileEtag noneで消せるけど、tomcatはどうするんだろうか。ちょろっと調べたけどよくわからない。apacheで Header unse…
少し前に試行錯誤して現在はひとまず解決したのですが、同じようにはてなで悩んでた人がいるみたいなので、自分の設定例を軽くまとめてみる。 SSLアクセラレータとは 【SSL accelerator】 - 意味・解説 : IT用語辞典 http://q.hatena.ne.jp/1224205069 SSL…
active/standbyって言ったりもするかも。日本語のドキュメントにはまだ翻訳されてないんですね。 http://httpd.apache.org/docs/2.2/en/mod/mod_proxy.html http://httpd.apache.org/docs/2.2/ja/mod/mod_proxy.html status=+Hでhot-standbyになる。 ProxyPa…
ホストの別名だからServerAliasにはポート番号つけてはいけない。とわかっていても、たまに間違えてポート番号までつけてしまう。当然、目的のVirtualHostにマッチしなくてあわわわわ。半年に1回ぐらいやってしまうな。 追記 ServerNameにポート番号はつけな…
参考 http://kazu-360.cocolog-nifty.com/blog/2007/08/apache_mod_ssli_7c51.html http://support.microsoft.com/kb/305217/ defaultのssl.conf 古いIEのSSL時に不具合があるらしくて、apacheのmod_sslでもdefaultのssl.confにこんなの書いてる。 BrowserMa…
備忘録。 versionはapache-2.2.9。./configureに何もつけずにsource installしたもの。ちなみに--enable-mods-shared=allにするとhttpdのサイズは1.4Mになった。思ってたよりダイエット効果があるみたい。 # ls -lh httpd -rwxr-xr-x 1 root root 2.1M 8月 2…
apache付属のsplit-logfileを使えば、1つのログからVirtualHostごとに分割できる。ただし、ログの先頭にホスト名がいるのでLogFormatの設定が必要。 http://httpd.apache.org/docs/2.2/ja/vhosts/fd-limits.html log formatの設定 LogFormat "%V %h %l %u %t…
backendにrewriteするRewriteRuleにはPフラグをつけること。こうしないとrewrite後のホスト名がbackendのサーバ名になってしまってうまくいかない。ProxyPassを設定するときに、あわせてProxyPassReverse書くのと似たようなもんかな。
※ 2.2.9では解決されてるぽい。--with-expatのオプションがなくなってた。 32bitのライブラリを見に行ってしまって怒られてるみたい。/lib64/libexpat.so.0.5.0が64bitのほう。 $ make /usr/lib/libexpat.so: could not read symbols: File in wrong format …
http://d.hatena.ne.jp/hogem/20080608/1212891318 これに関連してetagのこと調べていたら、とあるサーバだけ.htmlにEtagが返ってこなくて不思議だった。httpd.conf見直したら原因発見。htmlファイルでSSI使えるようにしてたのが悪かった。 AddOutputFilter …
http://httpd.apache.org/docs/2.2/ja/mod/core.html#fileetag HTTPのcacheの管理にEntity Tagを使うみたいで、デフォルトではEtagはfileのinode、filesize、timestampで決まる。クラスタ構成で、各webサーバが自前でファイルを持っている場合、inodeが変わ…
http://httpd.apache.org/docs/2.2/ja/howto/ssi.html#configuring 効率の良い方法 XBitHack Full として、SSIを実行したいhtmlファイルに実行権限をつける。XBitHack Onでもいい。Fullにするとグループに実行権限が付いているとファイルの修正時刻がLast-Mo…
参考. http://www.typemiss.net/blog/kounoike/20060202-61 http://d.hatena.ne.jp/babie/20060201/p3 http://yutuki.blogspot.com/2007/08/apache-maxclients.html http://d.hatena.ne.jp/hideden/20080409/1207740439 わけあってMaxClientsの設定を色々調…
こんなのあったのか。知らなかった。 http://httpd.apache.org/docs/2.2/ja/mod/mod_status.html Location /server-statusにSetHandler server-status書いてるとする。 n秒で自動更新 http://www.example.com/server-status?refresh=N 機械読み取り可能なス…