タグ

apacheに関するtamomomomoのブックマーク (16)

  • やっとわかった、リバースプロキシの設定の意味 - @kyanny's blog

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

    やっとわかった、リバースプロキシの設定の意味 - @kyanny's blog
  • Apache HTTPD: `Options -FollowSymLinks` は不完全 - ダメ出し Blog

    シンボリックリンク攻撃を防ぐための Apache HTTPD モジュールの解説はこちら: Apache HTTPD: mod_allowfileowner https://fumiyas.github.io/apache/mod-allowfileowner.html 背景 ロリポップの共有 Web サービス下のサイト改ざん事件で、 攻撃手法の一つとして 「他ユーザー所有のファイルへのシンボリックリンクを自分のコンテンツディレクトリ下に作り、Apache HTTPD 経由でアクセスする」手順が利用されたらしい。 参考: http://blog.tokumaru.org/2013/09/symlink-attack.html 当社サービス「ロリポップ!レンタルサーバー」ユーザーサイトへの第三者による大規模攻撃について http://lolipop.jp/info/news/4149/#090

  • ロリポップのサイト改ざん事件に学ぶシンボリックリンク攻撃の脅威と対策

    既に報道されているように、ロリポップ!レンタルサーバーに対する改ざん攻撃により、被害を受けたユーザー数は8428件にのぼるということです。ここまで影響が大きくなった原因は、報道によると、(1)「WordPressのプラグインやテーマの脆弱性を利用」し、不正なファイルがアップロードされた、(2)パーミッション設定の不備を悪用されて被害が拡大した、ということのようです。 29日夜の時点では、攻撃者の改ざん手法について「WordPressのプラグインやテーマの脆弱性を利用」し、不正なファイルがアップロードされて「wp-config.phpの」の設定情報が抜き出されたと説明していたが、30日午後7時過ぎの説明で、この脆弱性が侵入経路となって同社のパーミッション設定の不備を悪用されたことが原因だったことを明らかにした。 「ロリポップ」のWordPressサイト改ざん被害、原因はパーミッション設定不備

    ロリポップのサイト改ざん事件に学ぶシンボリックリンク攻撃の脅威と対策
  • ワイルドカードでApacheのVirtualHost-はてなブログでやってるあれ - それマグで!

    ワイルドカードでApacheのバーチャルホストを使いたい。 ワイルドカードでApacheの設定するとどうなるか。はてなブログでやってるあれですね。 ワイルドカードドメインとディレクトリを一致させる。 takuya-1st.example.com #=> /var/www/example.com/takuya-1st/ takuya-2nd.example.com #=> /var/www/example.com/takuya-2nd/ takuya-3rd.example.com #=> /var/www/example.com/takuya-3rd/ takuya-4th.example.com #=> /var/www/example.com/takuya-4th/ takuya-5th.example.com #=> /var/www/example.com/takuya-5th/な

    ワイルドカードでApacheのVirtualHost-はてなブログでやってるあれ - それマグで!
  • ApacheログをLTSV形式にする際の2つの落とし穴と対処法+Apache&FluentdのLTSV設定サンプル - Y-Ken Studio

    ApacheのアクセスログをLTSV形式にしたいと思った方に是非お伝えしたい、 私がハマった落とし穴とその対処方法、その後にApacheとFluentdの設定サンプルを紹介します。 以下に1つでも該当するものがあれば、LTSVの導入メリットは高いでしょう。 テクニカルな正規表現のメンテナンスに疲れた awk等のテキスト整形ツールで加工や集計を容易に行いたい ログ収集ツールFluentdを使ってリアルタイム集計などを行いたい 落とし穴 その1「request_first_line」 一般的なApacheの設定ファイルhttpd.confでは、デフォルトで以下の設定が行われています。 LogFormat "%h %l %u %t \"%r\" %>s %b \"%{Referer}i\" \"%{User-Agent}i\"" combined このLogFormatStringをそのままLT

  • Apache 2.4系でのモダンなアクセス制御の書き方

    人間とウェブの未来(旧) 「ウェブの歴史は人類の歴史の繰り返し」という観点から色々勉強しています。2014年までの人間とウェブの未来の旧ブログです。 これまでのApache2.2系以前でのアクセス制御の書き方は賛否両論でした。僕はあまり好きじゃありませんでした。 過去のアクセス制御に関しては、以下の記事がとてもわかりやすくまとめられていると思います。 こせきの技術日記 – Apacheのアクセス制御をちゃんと理解する。 ここで、以下のように言及されています。 こんなバッドノウハウ、当はどうでもいいと思う。Apache 3.0では、かっこいいDSL(VCL)で書けるようにする構想があるらしいのでがんばってほしい。 ということで、2.4系ではDSLとはいかないまでも、Require*というディレクティブを使ったモダンな書き方ができるようになったので、それを2.2系以前のアクセス制御の記述と比

    Apache 2.4系でのモダンなアクセス制御の書き方
  • 人間とウェブの未来 - 自分で作ったApacheモジュールで使えそうなモジュールまとめ

    人間とウェブの未来(旧) 「ウェブの歴史は人類の歴史の繰り返し」という観点から色々勉強しています。2014年までの人間とウェブの未来の旧ブログです。 「Apacheおもしれー!!」とか言いながら、一時期毎日のようにApacheモジュールを書いたりしていましたが、その度に他のモジュールが淘汰されていきました。 今日はそのような流れの中で生き残った、割と使えそうな自分の作ったモジュールを紹介したいと思います。どこにこだわったかを簡単に説明できれば良いなと思います。今回紹介するモジュールは、新しいApache Module RegistryでGruno氏(Apache httpd コミッタ兼mod_luaの中の人)のチェックを通っています。 mod_mruby コード: https://github.com/matsumoto-r/mod_mruby 最近作っているApacheモジュールです。こ

    人間とウェブの未来 - 自分で作ったApacheモジュールで使えそうなモジュールまとめ
  • ローカルポートを食いつぶしていた話 - download_takeshi’s diary

    ここのところ、お仕事で管理しているシステムで、夜中に負荷が急上昇する事象が発生しており、夜な夜な対応に追われていました。 (このブログ書いている今も、負荷がじわじわ上昇中なんですが・・・) で、いろいろと調査した結果、ようやく糸口がわかってきました。 結論から言うと、ローカルポートなどのネットワーク資源をいつぶしていたようです。 以下、調べていってわかったことなどのメモです。 トラブルの事象 運用しているのは Apache2.2 + mod_perl2 なwebサーバで、リスティング広告システムの配信系です。 リスティング広告の配信のシステムって一般的にロジックが複雑でいやーな感じなんですが、このシステムもご他聞に漏れずかなりのひねくれ者で、しかもトラヒックは結構多めです。システム全体で、日に1000万〜2000万クエリくらいかな。幸か不幸か、このご時勢においてもトラヒック的には成長し続

    ローカルポートを食いつぶしていた話 - download_takeshi’s diary
  • mod_mrubyをevent及びworker MPM(マルチスレッドモデル)に対応させた

    やはり、event MPMは早いですねー。mod_mrubyでの相性も抜群そうです。 一応、参考までにApacheのconfを貼っておきます。 httpd.conf [program lang=’apache’ escaped=’true’] # mod_mrubyの設定 LoadModule mruby_module modules/mod_mruby.so Addhandler mruby-script .mrb <Location /mruby> sethandler mruby-native-script mrubyHandlerCode "Apache.rputs 'hello mod_mruby world'" </Location> # MPMの設定、ほとんどデフォルト #LoadModule mpm_prefork_module modules/mod_mpm_prefor

    mod_mrubyをevent及びworker MPM(マルチスレッドモデル)に対応させた
  • nginxでプロキシ&キャッシュサーバー « chibiegg日誌

    (多分)一般的なWebサーバーであるApacheは複雑な設定も可能で便利なのですが、その分重いのです。 どう重いのかというと、Apacheは一つのプロセスが一つのHTTPリクエストを同期処理で裁いてるのでその間は他の処理をしません。なので、同時アクセス数が増えるとApacheはプロセスをどんどん生成します。(あるいは後からきたリクエストを待たせる) なので、アクセス数が増えると急激にパフォーマンスが落ちるという問題を抱えてます。(ほかにもプロセスIDが足りなくなってどんなにリソースがあっても最大プロセスIDで制限されてしまう) で、最近話題のハイパフォーマンスWebサーバーがnginx(えんじんえっくす)です。 nginxは一つのプロセスで複数のリクエストを非同期で同時に処理します。なので、アクセス数が増えてもパフォーマンスが落ちにくいという特性があります。特に静的ファイルの場合は処理のほ

  • さくらVPSで一日6万PVを処理するためにしたこと - 新卒インフラエンジニア2年目

    さくらVPSで6万PV程度のサイトを運用することになったので、その際の記録を残しておきます。 さくらレンタルサーバ⇒さくらVPS さくらレンタルサーバで運用している時は、ちょくちょく503が発生しておりこれを解決するためにさくらVPSへの移行を行いました。 レンタルサーバの時は、ログ解析や監視ツールなどを導入していなかったので503の頻度やパターンは不明です。(安易な判断でVPSに移行したので、この点は反省です) 来は原因を追及し、プログラムの改修やサーバ負荷の分散などをすべきですが時間の都合で省いてしまいました。 構成 運用するサイトはpukiwikiで構成されたサイトです。 pukiwikiは、PHPで書かれており大量のデータをRDBを利用せずに構築できる点が大きなメリットです。 今回は1サイトですが、複数のサイトを運用する可能性を考慮してVirtualHostも利用します。 さくら

  • httpd.conf の設定

    ここでは、Apache の設定ファイルであるhttpd.conf について解説していきます。行数にして1000行以上ありますが、実際に設定すべき箇所はそれほど多くはありません。けれども、設定しておくと便利なものもたくさんあるので、大まかについて簡単に知っておいた方がいいでしょう。ここでは、それぞれのディレクティブに対して、深く掘り下げては説明しませんが、大まかな概要について説明してありますので是非、参考にしてみてください。 ■Section 1: Global Environment Global Environment は、Apache 全体に影響を与えるセクションです。 ServerRoot は、Apache をインストールした場所のパスが指定されており、このディレクトリ以下に conf や logs などのサブディレクトリが格納されます。以降で出現するディレクティブの多くは、このSe

  • blog.nomadscafe.jp

    PHPの勉強会なので、いままでお会いしたことのない方とお話ができてよかったです。 発表内容は大きくなってしまったmaster.phpファイルをどうやって高速に読むかというお話です。PHPではリクエストの終了とともに全てのメモリを捨ててしまうので、変わらないデータもリクエストの度にキャッシュからロードしなくてはいけません。大きなphpファイルがあれば当然毎回の読み込みがオーバーヘッドとなってきます。そんな環境でどうやってアプリケーションのパフォーマンスをあげていったのかを紹介しています。 スライドの中でfile sizeを小さくする必要があると書きましたが、@hnwさんによると、VM命令が多過ぎるのが問題で、構造を簡単にしたことでVM命令が減ったのがよかったのではとのことでした。非常に参考になりました。ありがとうございました そろそろ傷が癒えてきた。。 ISUCON5の選にメルカリのインフ

  • チューニンガソン第3弾で優勝しました!

    3/24日の第三弾チューニンガソンに参加したので、その詳細をまとめました。 ツッコミ大歓迎です!!! 今回福岡でもリモートで参加可能だと聞いて、これは参加せねばと思いエントリしました。 基ぼっちなんで一人で参加。 ~前日福岡のインフラ勉強会で一度、傾向と対策的なことをしてました。 ここでは、主にチューニング項目の洗い出しと、次のお題の予想してました。 私の予想では、webサーバーにnginx、appにredmineじゃないかと予想してました。。。 あとは、前回までがphpがお題だったので、php触った事無いのでapcインスコする手順とかを一応予習。 (結局、全く役に立たなかったのですが・・・・) その他にも、apacheやmysqlの設定を勉強してました。 msqlの勉強で最後の砦として読んだのが↓です。 オススメですよー あと、今回必ず使おうと思っていたのが、dstatでした。 dst

    チューニンガソン第3弾で優勝しました!
  • Apache 2.4.1のmod_luaでApacheに介入する(mod_rewriteの終焉?)

    人間とウェブの未来(旧) 「ウェブの歴史は人類の歴史の繰り返し」という観点から色々勉強しています。2014年までの人間とウェブの未来の旧ブログです。 といいつつも、そこまで大したことはしていない。 luaという高速に動作する組み込み系のスクリプト言語で遊んでみたかったのと、それだったmod_luaで遊んでみればいいなと思っただけである。で、実際にmod_luaをコンパイルして遊んでみた。コンパイルオプションは以下。 ./configure --prefix=/usr/local/apache2.4 --with-apr=/usr/local/apr --with-apr-util=/usr/local/apr --enable-modules=all --enable-mods-shared=all --enable-mpms-shared='prefork worker event' -

    Apache 2.4.1のmod_luaでApacheに介入する(mod_rewriteの終焉?)
  • Apache 2.4.1 で気になった新機能などのメモ - (ひ)メモ

    Overview of new features in Apache HTTP Server 2.4 - Apache HTTP Server Expressions http://httpd.apache.org/docs/2.4/en/expr.html やSetEnvIfExpr, RewriteCond, Headerで使える評価式 の追加 http://httpd.apache.org/docs/2.4/en/mod/core.html#if ヘッダや環境変数を参照して細かい制御ができるようになったことに加え、else的なブロックを書くのに苦労したことがあるんで朗報です ErrorLogFormat http://httpd.apache.org/docs/2.4/en/mod/core.html#errorlogformat ErrorLogも書式設定できるように。 %L (L

    Apache 2.4.1 で気になった新機能などのメモ - (ひ)メモ
  • 1