タグ

apacheに関するpotato777のブックマーク (22)

  • [メモ] Apache+mod_sslでSIGBUSが発生した件

    @hirose31さんと、Apache HTTPDからHTTPSでファイルダウンロード中にサーバプロセスがSIGBUSで死ぬって件にぶちあたり、 「OpenSSLの中でmemcpyがSIGBUSしてます」「な、なんだってー!」 って調べたのですが、理由は以下のとおりだった。 HTTPSの場合、デフォルト設定だとファイル読込にmmap(2)が使われる mmapされたファイルのサイズが変更されてもApacheはそれを検知しようがない そして、ファイル末尾以降のデータを読もうとするとセグメンテーションエラー(SIGBUS)が発生し、Apacheのサーバプロセスは異常終了する HTTPの場合は、ローカルファイルシステムの場合sendfile(2)が使われるので、ファイルサイズが変更になってもApacheは異常終了しない ただし、mod_deflateのような出力フィルタを使っている場合は、HTTP

    potato777
    potato777 2014/05/20
    mmapされたファイルのサイズが変更(apache は検知できない) → 末尾以降を読み込もうとして SIGBUS。対応として EnableMMAP Off
  • Apache httpd 2.4の便利そうな新しいコア機能

    人間とウェブの未来(旧) 「ウェブの歴史は人類の歴史の繰り返し」という観点から色々勉強しています。2014年までの人間とウェブの未来の旧ブログです。 Apache httpdの2.4系を触っていて、面白そうだなーと思う新しいコア機能を幾つか紹介したいと思います。こういうの欲しかった!と思える機能がちらほら見受けられます。 MPMをLoadableに扱える PreforkやWorker、eventのMPM切り替えを、これまではコンパイル時に行う必要がありましたが、それぞれのMPMがモジュール化されLoadableになりました。これによって、MPMを切り替えて試したりする作業が格段にやりやすくなったと思います。 むしろこれになれて2.2系を触ると、うおおおーっめんどくさい!ってなります。 モジュール単位やディレクトリ単位でログレベルを制御 エラーログの出力レベルを、モジュール単位で設定できたり

    Apache httpd 2.4の便利そうな新しいコア機能
  • ApacheのVirtualHostによる高集積Webホスティングでsymlink問題を根本解決する方法について考えた

    人間とウェブの未来(旧) 「ウェブの歴史は人類の歴史の繰り返し」という観点から色々勉強しています。2014年までの人間とウェブの未来の旧ブログです。 最近、各所でApacheのVirtualHostを利用した高集積ホスティングのセキュリティに関するインシデントが起きています。僕自身、自分の専門の一つがWebサーバのセキュリティなので、他人事には思えず、毎日各所の経過情報を眺めています。また、数社からApacheのセキュリティに関してもいくつか質問を受けたりしており、公に話せるような内容はこのブログでも公開していきたいと思います。 ということで、ApacheのVirtualHostによる高集積Webホスティングにおけるsymlink問題を根解決するにはどうしたら良いのかを考えました。まずは、静的コンテンツも動的コンテンツのようにファイルのユーザ権限で処理する方法から紹介します。その後、ホス

    ApacheのVirtualHostによる高集積Webホスティングでsymlink問題を根本解決する方法について考えた
    potato777
    potato777 2013/09/06
    symlink問題に対して "mod_process_secuirtyによって、静的コンテンツも動的コンテンツもホスト固有のownerとgroupで、かつ、600や700のようなパーミッションにすることができます。"
  • ApacheのRewriteRuleで検索条件に^/がマッチしない場合がある理由 - このブログはURLが変更になりました

    ApacheのRewriteRuleで「/hoge/配下にアクセスがあったら http://example.jp/fuga/ に301リダイレクトを行う」ってな処理を書く場合、先頭に/が必要な場合と必要ない場合がある。 RewriteEngine on # これでいける場合もある RewriteRule ^/hoge/(.*) http://example.jp/fuga/$1 [R=301,L] # こう書かないとダメな場合もある RewriteRule ^hoge/(.*) http://example.jp/fuga/$1 [R=301,L] この先頭に/が必要不要の違いはなんだろうなーと思っていたが、先日理由がわかった。 Apacheのドキュメントにしっかり書いてあった。 RewriteRule Directive What is matched? In VirtualHost c

    ApacheのRewriteRuleで検索条件に^/がマッチしない場合がある理由 - このブログはURLが変更になりました
  • CentOSでApacheを日本語ロケール(ja_JP.utf8)で起動する | maeda.log

    2010-01-05 20:42 | tag: apache, linux RHEL/CentOS 5では、AapacheはCロケールで起動します。 /etc/sysconfig/i18n 内のLANG変数の値は使用されません。変更するには、/etc/sysconfig/httpdファイルでHTTPD_LANG変数を設定します。 Cロケールで起動するデフォルトの状態では、Apache上で実行するアプリケーションにおいて日語の処理に問題が発生する場合があります。 Apacheの起動ロケールの設定手順 ApacheをRHEL/CentOSのパッケージで導入した場合(デフォルト) ja_JP.utf8に設定するには、 /etc/sysconfig/httpd に以下の行を追加します。 HTTPD_LANG=ja_JP.utf8 Apacheをソースコードからビルドしてインストールした場合 /u

  • ApacheとNginxの性能比較でevent_mpmの本気を見た

    はい、これは僕がいつも良く見るApacheとNginxの性能差に見えます。大体、ApacheはNginxの75%程度の性能に落ち着きます。数十バイトの静的コンテンツに対するリクエスト処理はNginxの得意分野だと思っていたので、大体こんなものです。 そこで、真面目にevent_mpmのチューニングを行ってみました。で、幾度となくベンチを試した結果導き出した、静的コンテンツに対する同時接続数100程度に対して最高のパフォーマンスを示すevent_mpmの設定は以下のようになりました。 [program lang=’apache’ escaped=’true’] StartServers 4 MinSpareThreads 4 MaxSpareThreads 4 ThreadsPerChild 2 MaxRequestWorkers 2 MaxConnectionsPerChild 0 [/p

    ApacheとNginxの性能比較でevent_mpmの本気を見た
  • 軽量apacheの設定 - とあるプログラマの日記 @s025236

    僕が考えた最強のサーバ設定でnginxとapacheを組み合わせた設定を紹介していますので、是非はてなブックマークをお願いします。 以下元の記事です。 さくらのVPSが安くて使いやすいので1サイト1サーバと割り切ってvhostもあまり使わなくなったのでごっそり削ってみました。 apacheの標準の設定だといらないものロードしすぎなので出来るだけ削ってます。 (ここまで行ったらnginx使った方がいい気もする) # (C) makoto <makoto@2ch.to> ###################################################################### # 基設定 ServerRoot /etc/httpd PidFile run/httpd.pid User apache Group apache # 接続関係 Timeout 3

    軽量apacheの設定 - とあるプログラマの日記 @s025236
  • mod_pagespeed Overview

    Learn more Overview Page Speed extension mod_pagespeed for Apache 2 Get Started Page Speed extension mod_pagespeed for Apache 2 Security Considerations Documentation Performance Best Practices Optimize caching Minimize round trip times Minimize request overhead Minimize payload size Optimize browser rendering Page Speed rules (alphabetical) Avoid bad requests Avoid CSS expressions Combine external

  • mod_chxj プロジェクト日本語トップページ - OSDN

    国内の主要携帯(3キャリア)向けコンテンツ変換ミドルウェアをApache2.x用のモジュールとして作成します。CHTMLや通常のHTMLで作成したコンテンツを出力時にUserAgentを見てそれぞれの端末用に変換します(画像はJPG、GIF、PNGからJPG、GIF、PNG、BMPへ)。QRコード生成機能付。 使い方などについては プロジェクトWiki を参照ください。 ダウンロード 最新リリース 0.12.x-source 0.12.42 (日付: 2013-02-12) 0.12.x-centos-5 0.12.41 (日付: 2011-07-05) 0.12.x-debian-squeeze 0.12.41 (日付: 2011-07-05) 0.12.x-source 0.12.41 (日付: 2011-07-05) 0.13.x-centos-5.5 0.13.4 (日付: 201

    mod_chxj プロジェクト日本語トップページ - OSDN
  • mod_xsendfile を使う - 酒日記 はてな支店

    mod_xsendfile for Apache2/Apache2.2 という Apache モジュールがありまして、これを使うとレスポンスヘッダに X-Sendfile: path/to/file と出力することで、Apache がレスポンスのボディをファイルの中身で差し替えてくれる。 Webアプリケーションで認証後、大きなファイルをダウンロードさせるような用途に便利。 このモジュールはその名の通り sendfile システムコールを(使えれば)使うので、アプリケーションが自前でファイルの中身を読んで送信するよりも速い(軽い)はず。http://www.linux.or.jp/JM/html/LDP_man-pages/man2/sendfile.2.html ってことでベンチマーク取ってみた。 1. 普通に静的ファイルを Apache が serve 2. mod_xsendfile

    mod_xsendfile を使う - 酒日記 はてな支店
  • IDEA * IDEA

    ドットインストール代表のライフハックブログ

    IDEA * IDEA
  • linuxで httpd が使ってるメモリ総量を調べる話 - kazuhoのメモ置き場

    Perl等のLLでウェブアプリケーションサーバを書いていると、普通はマルチプロセスモデル (apache なら prefork とか) で運用することになると思う。で、それらがどれだけメモリを使っているか、っていうのはチューニングにおいて重要になってきたりする (んじゃないかと思う) けど、そもそもメモリの総使用量をどうやって測定するのか。 20:20追記: PSSを使ってワンライナーで測定するのが簡単 (コメント欄参照)。kosakiさんありがとうございます。 $ sudo perl -le 'for my $p (@ARGV) { open my $fh, "< /proc/$p/smaps" or die $!; map { /^Pss:\s*(\d+)/i and $s += $1 } <$fh> } print $s' `pgrep plackup` 914325以下は初回投稿時

    linuxで httpd が使ってるメモリ総量を調べる話 - kazuhoのメモ置き場
  • Satisfy ディレクティブ : core - Apache HTTP サーバ

    このディレクティブは実際のファイル名 (もしくは存在するディレクトリの 存在しないファイル) の後に続くパス名情報があるリクエストを受け付けるか 拒否するかを制御します。続きのパス名情報はスクリプトには PATH_INFO 環境変数として利用可能になります。 例えば、/test/ が、here.html というファイル 一つのみがあるディレクトリを指しているとします。そうすると、 /test/here.html/more と /test/nothere.html/more へのリクエストは両方とも /more を PATH_INFO とします。 AcceptPathInfo ディレクティブに指定可能な 三つの引数は: Offリクエストは存在するパスにそのまま マップされる場合にのみ受け付けられます。ですから、上の例の /test/here.html/more のように、当のファイル名の

  • eruby、mod_rubyインストールメモ | システムエンジニアの戯言

    Rubyインストールメモ 忘れないうちにメモしておきます。結構、はまりました。 Rubyをインストールする目的 htmlを動的に生成(phpライクにサーバーサイドスクリプトを埋め込みたい)したいから。 RubyにはeRubyがあります。eRubyとは、htmlRubyのスクリプトを埋め込むことができるテクノロジーです。 eRubyの実装には、Cで実装されたerubyRubyにより実装されたERBがあるみたいです。Javaでいうところの、SunのJREと、BEAのJRockitみたいなものでしょうか? どちらが技術として枯れているかは分かりませんが、前者の方が高速に動きそうな感じはあります。アクセス数が多いサイトだと、性能差は顕著に現れるのでは・・・、と考えます。 Ruby On Rails はどうなってるんでしょうか?そもそも、Rubyとその周辺技術に対する知識がほとんど無いので、何が

    eruby、mod_rubyインストールメモ | システムエンジニアの戯言
  • バーチャルホストの例 - Apache HTTP サーバ バージョン 2.2

    Please note This document refers to the 2.2 version of Apache httpd, which is no longer maintained. The active release is documented here. If you have not already upgraded, please follow this link for more information. You may follow this link to go to the current version of this document.

  • bayashi.jp

    This domain may be for sale!

  • ブラウザのリクエストに応じて、予め圧縮しておいたのか生のか選んでjsやcssを配信する方法 〜Apache 2.2編〜 - (ひ)メモ

    ググるといろいろできますけど、若干おハマりしたので。 こんな設定で: # Expires*は圧縮には関係ないけど ExpiresActive On ExpiresByType application/javascript "access plus 1 years" ExpiresByType text/css "access plus 1 years" # こっちが丸 <Location ~ "\.(js|css)(\.(js|css|gz))?$"> Options +MultiViews RemoveType .gz AddEncoding x-gzip .gz </Location> こんなファイルを置いておくと: $ ls -1 js/ jj.js.gz jj.js.js こんな感じのレスポンスになります。 $ curl -i -H 'Accept-Encoding: gzip'

    ブラウザのリクエストに応じて、予め圧縮しておいたのか生のか選んでjsやcssを配信する方法 〜Apache 2.2編〜 - (ひ)メモ
  • Apache 2.2でWebサイトをパフォーマンスアップ!(1/3) ― @IT

    ■ドキュメントキャッシュ機能の見直し メモリキャッシュやディスクキャッシュなど、HTTPコンテンツの動的キャッシュ機能が強化されました。開発バージョン時よりも安定性が向上し、Apache 2.2では実用的なレベルになっています。キャッシュ機能を用いることで、一般的にHTTPサービスの応答性を向上させることができます。 また、Apacheをリバースプロキシサーバとして利用する場合もキャッシュ機能を利用可能です。 ■プロキシ機能によるロードバランシングの実現 プロキシでロードバランス機能を実現するmod_proxy_balancerモジュールが追加されました。HTTPやFTPサービスはもちろん、Apache Tomcatなどのサーブレットコンテナとの通信で使われるAJP13プロトコルのロードバランス機能も提供します。 バランシングの制御は、「リクエスト回数」と「トラフィック量」の2つのアルゴリ

  • Slowloris HTTP DoS 攻撃について

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

  • 株式会社スタイルズ

    AWSアドバンスドコンサルティングパートナーの一員として活動する株式会社スタイルズが、AWS導入、移行、開発、セキュリティ、運用保守など、すべてのご相談に乗らせていただきます。 AWSを導入したいが何から始めたらいいかわからない 既存のベンダーが新技術に弱く、良い提案がもらえない クラウドの導入にセキュリティの不安がある AWSをとりあえず導入したが、さらに活用していきたい 社内にAWSの知見を持っている人がいない AWSならではのシステム開発を詳しく知りたい

    株式会社スタイルズ