タグ

apacheに関するkoko1000banのブックマーク (124)

  • .htaccess ファイルを簡単作成「.htaccess Editor」

    リダイレクト Fromにサイトパスを入力、ToにURLを入力 301 Moved Permanently 恒久的に移動 From: To: From: To: From: To: 302 Moved Temporarily 一時的に移動 From: To: From: To: From: To:

  • Apacheのリクエスト処理時間(%T or %D)は正確には何の時間か — ありえるえりあ

    Apacheのログに%T or %Dでリクエスト処理時間を載せることができます。%Tと%Dは内部的には同じ計算値で、単位が異なるだけです(%Tは秒、%Dはマイクロ秒)。 このリクエスト処理時間は、いつからいつまでの処理時間でしょうか。つまり計測時間の開始と終了はどのタイミングでしょうか。 終了はレスポンスデータをsend(2)し切ったタイミングです。 開始として思いつくのは次の3つのタイミングです。 listenキューに入ったタイミング(3wayハンドシェイクの最初のACKを受けたタイミング) accept(2)が返ったタイミング(3wayハンドシェイクの最後のACKを受けたタイミング) リクエストデータをrecv(2)する前 実はどれも間違いです。正解は、リクエストデータの1行目のリクエスト行を読み終わったタイミングです(ソースコードで言うと server/protocol.cのread

  • 雑記 - hibomaの日記

    Web屋のネタ帳 - Apacheのログ出力に追加しておいたほうがいい(かもしれない)設定 %D リクエストを処理するのにかかった時間、マイクロ秒単位 「あるページだけが異様に重い気がするんだけど?」といった場合に体感スピードではなくその正確な値を得ることができる。純粋にWebアプリ的な処理時間であってネットワーク的な遅延時間などはこれじゃ取れないけど。なお、「%T リクエストを扱うのにかかった時間、秒単位」というのもあるんだが、「処理するのにかかった時間」と「扱うのにかかった時間」がどう違うのかわからん(笑)。いずれにせよ秒単位よりはマイクロ秒単位のほうがいいだろう。 %T ... リクエストを扱うのにかかった時間、秒単位 %D ... リクエストを処理するのにかかった時間、マイクロ秒単位 ということなので、%Tと%Dで精度以外に何か違うのか気になったので調べてみた。 結論としてマニュア

    雑記 - hibomaの日記
  • Apacheモジュールの作成とgdbとloggerでのデバッグ方法 - よねのはてな

    ApacheのFilterモジュールを作った話しをしたらid:c9katayamaに情報公開しろと言われたままでしたので公開します。 C言語の勉強しようかな、Apache2.xのモジュールを作ってみようかな、gdb使ってデバッグしてみようかなと考えてた人にお勧めです。 JavaでのServletの開発経験のある人であれば、Filterの処理の動きやリクエストコンテキストの考え方は分かり易いはずなので、エントリを読み終わる頃にはApacheのモジュールをgdbでデバッグしながら作る事が出来るはずです。 mod_orzを作成 今回はmod_orzというApacheモジュールを作成します。 Apacheモジュールを作成する際には、apxsというモジュール開発用のコマンドを使用しテンプレートを作ります。 # apxs -g -n orz Creating [DIR] orz Creating [F

    Apacheモジュールの作成とgdbとloggerでのデバッグ方法 - よねのはてな
  • Kazuho@Cybozu Labs: Apache で X-Reproxy-URL ヘッダを使えるようにするモジュール mod_reproxy を書いた

    ウェブアプリケーションにおいて、認証がかかっている画像や大きなファイルを配信する場合には、Perlbal 等でサポートされている X-Reproxy-URL ヘッダが有効なことが知られていて、その理由としては、 (メモリを大いする) アプリケーションサーバのプロセスを転送終了まで占有しない HTTP ベースの分散ファイルシステムとリバースプロキシが直接交信するので、ネットワーク負荷が低い といった点が挙げられます。「でも、Apache は X-Reproxy-URL ヘッダをサポートしてないんだよねー」という話が、先日の YAPC::Asia 2009 においても話題になっていました[要出典]。回避策としては、ワンタイムURLのような手法もあるのですが、セキュリティな懸念もあります。 なんとかしたいなと思っていたのですが、気が向いたので、Apache に X-Reproxy-URL ヘッ

  • メンテナンス中画面を出す正しい作法と.htaccessの書き方 | Web担当者Forum

    今回は、Webサイトやサービスをメンテナンス中にする場合に、どのURLにアクセスしても「メインテナンス中です」の画面を出す正しいやり方を、人間にも検索エンジンにも適切にする作法を主眼に解説します。 この週末の土曜深夜~日曜早朝にかけて、データセンターの設備メインテナンスのため、Web担を含むインプレスグループのほとんどのWebサイトが、どのURLにアクセスしても「メンテ中です」という表示になっていました。 なのですが、その実装がちょっと気になったので、「正しいメンテナンス画面の出し方」を説明してみます。 ※2010-01-16 Retry-Afterを指定するHeaderの指定を修正しました(コメント参照) ※2009-06-17 RewriteCondから [NC] 条件を削除しました(コメント参照) ※2009-06-16 Retry-Afterの記述をGMTに変更しました(コメント参

    メンテナンス中画面を出す正しい作法と.htaccessの書き方 | Web担当者Forum
  • HTTPクライアントが全レスポンスを受信しない時のApacheとTomcatの動作 — ありえるえりあ

    Recent entries Apache2.4のリリース予定は来年(2011年)初め(あくまで予定) inoue 2010-12-23 Herokuの発音 inoue 2010-12-20 雑誌記事「ソフトウェア・テストPRESS Vol.9」の原稿公開 inoue 2010-12-18 IPA未踏のニュース inoue 2010-12-15 労基法とチキンゲーム inoue 2010-12-06 フロントエンドエンジニア inoue 2010-12-03 ASCII.technologies誌にMapReduceの記事を書きました inoue 2010-11-25 技術評論社パーフェクトシリーズ絶賛発売中 inoue 2010-11-24 雑誌連載「Emacsのトラノマキ」の原稿(part8)公開 inoue 2010-11-22 RESTの当惑 inoue 2010-11-22 「プ

  • PATH_INFO中の%2Fがデコードされる - Practice of Programming

    そもそも、デコードされているっていうのは、あんまり意識してなかったですが... 今回、PATH_INFO中に%2Fを使う必要があって、ぶつかりました。 URL内に%2Fを含むためには、AllowEncodedSlashes on が必要です。で、ドキュメントにはこう書かれてます。 符号化されたスラッシュを許可することは、復号をすることを 意味しません。%2F や (関係するシステムでの) %5C は、他の部分が復号された URL の中でもそのままの形式で 残されます。 http://httpd.apache.org/docs/2.2/ja/mod/core.html#allowencodedslashes のですが、PATH_INFOで受け取った値はデコードされてしまっています。 僕の使っているバージョンは、Apache/2.2.9 (Debian)ですが、結構前からのようです。 http

    PATH_INFO中の%2Fがデコードされる - Practice of Programming
  • Apache の Satisfy は And/Or だったか

    core - Apache HTTP サーバ Allow と Require の両方が使われているときの アクセスポリシーを設定します。パラメータは All か Any です。このディレクティブはある場所へのアクセスがユーザ名/パスワード とクライアントのホストのアドレスで制限されているときにのみ 役立ちます。デフォルトの動作 (All) はクライアントがアドレスによる アクセス制限を満たし、かつ正しいユーザ名とパスワードを入力することを 要求します。Any では、クライアントはホストの制限を満たすか、 正しいユーザ名とパスワードの入力をするかをすればアクセスを許可されます。 これは、ある場所をパスワードで保護するけれど、特定のアドレスからの クライアントにはパスワードの入力を要求せずにアクセスを許可する、 というようなときに使用できます ということは AuthType ... Requi

  • ハタさんのブログ(復刻版) : mod_proxy_html を OSX に入れる

    mod_proxy_htmlOSX に入れるログ mod_proxy_html については Running a Reverse Proxy in Apache などを参照のこと。 http://apache.webthing.com/mod_proxy_html/から mod_proxy_html.zip を持ってきて試してみた。 単純に apxs -c -I/usr/include/libxml2 -i mod_proxy_html.c って入れてDSOモジュールとしてビルドすると mach-o i386 だけ(下記参照)で コンパイルされるうえ、 httpd: Syntax error on line 117 of /private/etc/apache2/httpd.conf: Cannot load /usr/libexec/apache2/mod_proxy_html.

  • 技林ブログ: 手軽なロードバランサ Pound を導入してみました

    This domain may be for sale!

  • 角丸作り放題なApacheモジュール

    mod_rounded_cornersという角丸を生成するための Apacheモジュール(Apache2系用)を作りました。 というか会社のなんかのミーティングで誰かが 言ってたので勉強がてら作ってみた。 http://github.com/yoshiki/mod_rounded_corners/tree/master インストールは下記のようにすればOK。 % autoconf % ./configure % make # make install 設定はhttpd.confに <VirtualHost *:80> ServerName rounded-corners.example.com <Loction /> SetHandler rounded-corners </Location> </VirtualHost> て感じで書けばOK。 今のところはLocationが「/」以外だと

  • Django Projectを開発サーバーの使い心地のままにApacheでデプロイする - When it’s ready.

    ずーっと、デプロイが苦手だった。 自分でやると全然動いた事が無い。 でも気づけば、いつの間にか出来る様になってた。 今後忘れてしまわないようにメモ。 昨日作った環境でデプロイを行う。 機能的なところ 作成したプロジェクトがきちんと動く事 自動作成されたAdminサイトのデザインもきちんと動く事 静的ファイルはApacheより配信する事 ソースを変更した際には、自動でapacheを再起動する事 下準備 作成したDjangoプロジェクトは「djangoProject」 /var/www内に、プロジェクトと.wsgiファイルを公開するディレクトリ(django)を作成する。 プロジェクトのソースを展開する(実際はローカルリポからのリンク) /var/www/django/djangoProject アプリケーション名は以下の通り djangoProject.core wsgiの自動再起動用のス

    Django Projectを開発サーバーの使い心地のままにApacheでデプロイする - When it’s ready.
  • やっとわかった、リバースプロキシの設定の意味 - @kyanny's blog

    いままでリバースプロキシの設定がよくわかっていなくて、すでに動いているサーバの設定を見よう見まねで使い回してきた。ちゃんと理解しようと思って、マニュアルを読み直したらやっとわかった。設定の方法 (How) がわかったこと以上に、なぜそう書く必要があるかという理由 (Why) を理解できたのが嬉しい。久しぶりに「わかった!」と叫びたくなった。感動を忘れないうちに、思い出せるように、書いておく。 mod_proxy - Apache HTTP サーバ バージョン 2.2 が Apache のプロキシ関連のマニュアル。 mod_proxy を使うことになる。 大事なディレクティブは、 ProxyPass と ProxyPassReverse のふたつ。 ProxyPass これがリバースプロキシをする上でのほとんどすべてのことをやってくれる。実は見慣れた (コピペし慣れた) 設定ではこのディレク

    やっとわかった、リバースプロキシの設定の意味 - @kyanny's blog
  • apachelog モジュール | hexacosa.net

    以前までは、apache2のログを見るときは シェルスクリプトで適当にフェッチャやクローラらしき文字列を"grep -v"ではじいたりして 眺めてたのですが、もうちょっと便利にならないかなと思い Pythonの拡張モジュール apachelog を使ったスクリプトに変えてみました。 #!/bin/bash -x grep -v robots.txt /var/log/apache2/access.log | \ grep -v \/static\/ | \ grep -v \/blog\/rss | \ grep -v robots.txt | \ grep -v ApacheBench | \ grep -v FeedFetcher | \ grep -v Baiduspider | \ grep -v BaiduImagespider | \ : grep -v "Yahoo! Slu

  • 正しいデバッグ用ログの吐き方 - 射撃しつつ前転 改

    普段何気なく出力しているデバッグ用のログであるが、 複数プロセスからどうやって同時に書き込むのか? rotationはどうやってやればいいのか? ということを考えると、実はこれまでライブラリ任せで、自分で書いたことがないという事実に気づいた。ので、調べてみた。 まず、複数プロセスからのログの書き込みについてだが、これは普通にアペンドモードで開くだけで良かった。 fp = fopen("app.log", "a"); openシステムコールにはO_APPENDというオプションがあり、これをつけると毎回の write(2) の前に lseek(2) を行ったかのように、ファイルポインタをファイルの最後に移動してくれる。fopenでファイルを開くときも、"a"で開くと内部でopenシステムコールを呼ぶ際にO_APPENDをオプションとしてつけてくれるのでこれでOK。ただ、仕様書での確認はまだして

    正しいデバッグ用ログの吐き方 - 射撃しつつ前転 改
  • はてなブログ | 無料ブログを作成しよう

    来年も作りたい!ふきのとう料理を満喫した 2024年春の記録 春は自炊が楽しい季節 1年の中で最も自炊が楽しい季節は春だと思う。スーパーの棚にやわらかな色合いの野菜が並ぶと自然とこころが弾む。 中でもときめくのは山菜だ。早いと2月下旬ごろから並び始めるそれは、タラの芽、ふきのとうと続き、桜の頃にはうるい、ウド、こ…

    はてなブログ | 無料ブログを作成しよう
  • はてなブログ

    登山大好き犬と御岳山に登る 前回の日向山登山が楽しかったので、格的に暑くなる前にもういっちょ登山に行ってきました。ちょうど、ゆるダイエット期間でもあったので、痩せるかな〜という気持ちを込めて。 犬もケーブルカーに乗れるドッグフレンドリーな山。だけど今回も徒歩で登っていきます…

    はてなブログ
  • Apache2を1台のマシンで複数インスタンス起動するメモ - Pixel Pedals of Tomakomai

    1台のマシンにApache2を複数インスタンス建てたくなった*1んで、調べたことをメモっときます。 先に結論 Apache2の複数起動は結構泥臭いです。httpdに「-f your-httpd.conf」オプションを渡すために、init.dスクリプトを複数用意しましょう。こだわりがなければapachectlのことは忘れましょう。 基 httpd コマンドに、 「-f ファイル名」 オプションを渡すことができれば、別のhttpd.confで起動できます。別のhttpd.confの中では、PidFileやらポート周り(Listenとか)やら*2を変えておく必要があります。 ただし、Apacheを使ってる人ならわかると思いますが、httpdコマンドを直に呼ぶことはまずありません。apachectlコマンドとinit.d scriptを利用することになると思いますが、やっかいなことにデフォルトの

    Apache2を1台のマシンで複数インスタンス起動するメモ - Pixel Pedals of Tomakomai
  • Slowloris HTTP DoS 攻撃について

    ちょっと前に Apacheに新たな脆弱性発見 - スラッシュドット・ジャパン で紹介されていた脆弱性なんですけど・・・会社のお達しで各サービス毎に状況報告ってイベントがあったので、ちょいと脆弱性試験してました。そのまとめです。 Apacheに、DoS攻撃に繋がる脆弱性が新たに見つかったそうだ(家/.記事より) この脆弱性は、これを利用したHTTP DoSツール「Slowloris」がリリースされたことから明らかになったとのこと。この攻撃ツールはApacheに不完全なリクエストヘッダーを送り続けるもので、Apacheが最後のヘッダが送られてくるのを待つ間、偽のヘッダを送ることで接続をオープンにし続け、Apacheのプロセスを一杯にさせるものだという。 脆弱性はApache 1.x、 2.x、 dhttpd、 GoAhead WebServer、そしてSquidにて確認されているが、IIS6