You signed in with another tab or window. Reload to refresh your session. You signed out in another tab or window. Reload to refresh your session. You switched accounts on another tab or window. Reload to refresh your session. Dismiss alert
cat << _EOF_ > /etc/httpd/conf.d/security.conf # バージョン情報の隠蔽 ServerTokens ProductOnly Header always unset "X-Powered-By" # httpoxy 対策 RequestHeader unset Proxy # クリックジャッキング対策 Header always set X-Frame-Options "SAMEORIGIN" # XSS対策 Header always set X-XSS-Protection "1; mode=block" Header always set X-Content-Type-Options "nosniff" # XST対策 TraceEnable Off <Directory /var/www/html> # .htaccess の有効化 Al
元ネタはこちら。 Apache AddHandler madness all over the place Gentoo Bug 538822 どういうことか 次のような指定は危険である。 AddHandler php5-script .php この時に指定される.phpはファイル名の末尾である必要はない。例えば、 aaa.php.html bbb.php.pngなどもphp5-scriptとして解釈されてしまうのだ。これは.XXX.YYYと複数の拡張子が書かれた場合、.XXXと.YYYもAddHandlerの対象となることが原因。 ちなみに次のような場合にはphp5-scriptとして解釈されない。 ccc.php_foo (.php_fooとして解釈されるため) ddd.php_bar.html (.php_barと.htmlとして解釈されるため)実はこのことはApacheのドキュメン
2. チューニング • KeepAliveの設定 • コンテンツの圧縮転送 • 不要モジュールの削除 • シンボリックリンク先の参照許可 • TimeOutの設定 • DNS問い合わせの無効 • .htaccessの無効化 • Prefork MPMのチューニング • Worker MPMのチューニング 3. KeepAliveの設定 ディレクティブ 値 説明 KeepAlive On 同一クライアントに対し コネクションを使い回す MaxKeepAliveRequests 1ページあたりの平均 的なコンテンツ数 + α 1つのKeepAliveで受け付け るリクエスト数 KeepAliveTimeout 1ページ当たりの平均 的な転送時間+α クライアントからのリクエ ストがなくてもKeepAliveを 維持する秒数 5. 不要モジュールの削除 デフォルトでは多くの拡張モジュー ルが組み
個人的Apacheチューニングのメモ。 間違いがあったら教えて下さい! prefork 前提 Apacheでは、リクエストはApacheの子サーバプロセスが処理する。 子サーバプロセスは動的にforkで生成されたり、殺されたりする。 が、forkはとても重い処理なので、forkが発生しないように設定するのがよい。 チューニング方針 負荷が高かろうが低かろうが常に一定数のプロセスが動いている状態にする。 preforkの動作 MaxClientsは絶対値。 子プロセス数はこの値を超えない。 (以下正確ではないですが簡単に) Apacheは負荷が高くなってきたら 子プロセスを生成していく アイドル状態の子プロセスはMinSpareServers以上になるよう維持 MaxClients以上の子プロセスは生成しない MinSpareServersよりMaxClientsが強い 負荷が低くなってきた
今回は、.mdファイルにMarkdown形式で文章を書いておき、それをApache httpdやnginxでホストし、ブラウザからアクセスするとHTMLに変換されて表示されるMarkdownコンバータモジュールをmrubyで書く方法を紹介したいと思います。 Markdownのテキスト形式で保存しているファイルを適当にApache上で配信すれば、ブラウザ上でHTMLで綺麗に閲覧できるといったよくあるアレをWebサーバを拡張して実装してみようという話です。自分の開発環境やローカル環境のメモ置き場にも良いかもしれません。 Apacheモジュールやnginxモジュールで幾つかそういった機能を提供するモジュールはあると思うのですが、もう少し独自で改良したかったり、C言語で実装せずにもっと簡単に自分で書いてみたい、といった要求に本エントリを読むと答えられると思います。 もちろんそれらの機能の実装は、僕
インターフェース変更 久しぶりにApache Jakarta HttpClientを利用してみたところ最新の4.3であまりにもインターフェースが変更されていて非推奨の警告ばかりでてきました。 警告なので当面は動作するのですが今後のことを考えて正しい使い方を調べてサンプルコードを作成してみました。 2013年11月現在、英語も含めてあまりサンプルソースコードが見つからないので参考にしたのは本家のJavaDocとソースコードを追って確認しました。 これまで使い慣れていた人にとってdeprecatedが多くなってしまうほどの大幅な変更です。 本家JavaDoc https://hc.apache.org/httpcomponents-client-4.3.x/httpclient/apidocs/ 大きな変更点として、実装面ではスレッド処理に強い実装になっていること、プログラミング記述上の変更点
2月19日、Mavenリポジトリなどの構築および管理を行えるレポジトリ構築・管理ソフトウェア「Apache Archiva 2.0.0」がリリースされた。プロジェクトのWebサイトよりダウンロードできる。 Apache ArchivaはMavenやContinuum、ANTなどのビルドツールと連携して利用できるリポジトリ管理ツール。アクセス管理やビルドアーティファクトの保存・配信・インデックス、レポーティング、スキャンなどの機能を備えており、設定などはWebブラウザ経由で利用できるGUIコンソールから行える。これを利用して独自のアーティファクトリポジトリを構築できるほか、外部リポジトリへのプロクシとしても利用できる。2007年にバージョン1.0がリリースされ、2008年にApache Software Foundationのトップレベルプロジェクトに昇格している。 Apache Archi
人間とウェブの未来(旧) 「ウェブの歴史は人類の歴史の繰り返し」という観点から色々勉強しています。2014年までの人間とウェブの未来の旧ブログです。 @jj1bdxさんに「このような運用論文を誰でも読める形で」「情報処理学会や信学会の論文誌掲載論文は、論文誌に掲載された後であれば、著者がWeb上で公開するのに制限はない」という情報を頂き、別に公開しない理由もないので、大規模共有型Webバーチャルホスティング基盤のセキュリティと運用技術の改善という内容で書いた論文を公開したいと思います。 僕が会社にいた時、ApacheのVirtualHost環境でレンサバを構築するというのは既にセキュリティ・運用性・パフォーマンスにおいて色々と問題がある事は10年以上前から分かっており、別の方法で共有環境を構築していました。 ある時、VirtualHostで共有環境を真面目に組むとどうなるか、という議論を元
人間とウェブの未来(旧) 「ウェブの歴史は人類の歴史の繰り返し」という観点から色々勉強しています。2014年までの人間とウェブの未来の旧ブログです。 最近、各所でApacheのVirtualHostを利用した高集積ホスティングのセキュリティに関するインシデントが起きています。僕自身、自分の専門の一つがWebサーバのセキュリティなので、他人事には思えず、毎日各所の経過情報を眺めています。また、数社からApacheのセキュリティに関してもいくつか質問を受けたりしており、公に話せるような内容はこのブログでも公開していきたいと思います。 ということで、ApacheのVirtualHostによる高集積Webホスティングにおけるsymlink問題を根本解決するにはどうしたら良いのかを考えました。まずは、静的コンテンツも動的コンテンツのようにファイルのユーザ権限で処理する方法から紹介します。その後、ホス
こんにちは。 Kafkaを試している最中で微妙ですが、最近使えるのかなぁ、と情報を集めているのが「Apache Spark」です。 MapReduceと同じく分散並行処理を行う基盤なのですが、MapReduceよりも数十倍速いとかの情報があります。 ・・・んな阿呆な、とも思ったのですが、内部で保持しているRDDという仕組みが面白いこともあり、 とりあえず資料や論文を読んでみることにしました。 まず見てみた資料は「Overview of Spark」(http://spark.incubator.apache.org/talks/overview.pdf)です。 というわけで、読んだ結果をまとめてみます。 Sparkとは? 高速でインタラクティブな言語統合クラスタコンピューティング基盤 Sparkプロジェクトのゴールは? 以下の2つの解析ユースケースにより適合するようMapReduceを拡張
非営利団体のApache Software Foundation(ASF)は7月24日、クラスタ管理ソフトウェア「Apache Mesos」をトップレベルプロジェクト(TLP)に昇格したことを発表した。米Twitterやカリフォルニア大学で使われているクラスタ管理ツールで、分散環境でリソースの分離と共有を効率よく行うことができるという。 Apache Mesosはカリフォルニア大学バークレー校の研究機関AMPLabのプロジェクトを起源とし、データセンターでのリソースの共有/隔離を管理する技術として開発された。アプリケーションとプールされたサーバー間の抽出レイヤとして動作し、分散環境でジョブの実行を最適化できる。これにより、無駄なクラスタの作成を防ぐという。 1万台のノードにも対応し、ZooKeeperを利用したフォールトトレランス、マルチリソーススケジューリング、Webベースの管理UI、J
人間とウェブの未来(旧) 「ウェブの歴史は人類の歴史の繰り返し」という観点から色々勉強しています。2014年までの人間とウェブの未来の旧ブログです。 これまでのApache2.2系以前でのアクセス制御の書き方は賛否両論でした。僕はあまり好きじゃありませんでした。 過去のアクセス制御に関しては、以下の記事がとてもわかりやすくまとめられていると思います。 こせきの技術日記 – Apacheのアクセス制御をちゃんと理解する。 ここで、以下のように言及されています。 こんなバッドノウハウ、本当はどうでもいいと思う。Apache 3.0では、かっこいいDSL(VCL)で書けるようにする構想があるらしいのでがんばってほしい。 ということで、2.4系ではDSLとはいかないまでも、Require*というディレクティブを使ったモダンな書き方ができるようになったので、それを2.2系以前のアクセス制御の記述と比
今まで手動で Apache の php モジュールを切り替えてたけど、phpenv-apache-version が良いと聞いて環境を変えてみました。 前提条件 Homebrew と Homebrew 経由で MySQL が既に入ってます。 Apache のインストール まずは apache のインストールから $ brew tap Homebrew/dupes $ brew install httpd ターミナルを再起動してバージョンを念のため確認 $ httpd -v Server version: Apache/2.2.23 (Unix) Server built: Mar 22 2013 13:47:14 httpd.conf の編集 /usr/local/etc/apache2/httpd.conf の最後に以下を追記 # conf.d以下の.confをすべて読み込む Inclu
追記(2/8 11:30) id:naoyaによる一連のまとめが【今北産業】3分で分かるLTSV業界のまとめ【LTSV】 - naoyaのはてなダイアリーにあります。 また、仕様などをまとめるために http://ltsv.org/ を立ち上げました。 追記ここまで Labeled Tab Separated Values (LTSV) というのは、はてなで使っているログフォーマットのことで、広く使われているTSV(Tab Separated Value)フォーマットにラベルを付けて扱い易くしたものです。はてなでは、もう3年以上、このフォーマットでログを残していて、one-linerからfluentd、Apache Hiveまで幅広く便利に使えています。 ログフォーマットに期待されることは、 フォーマットが統一されている → 共通のツールで集計し易い 新しいフィールドの追加が容易 → サー
サーバを運用していらっしゃる方であれば、サービスの停止は死に値します。 大事な事なのでもう一度言います。 サーバを運用していらっしゃる方であれば、サービスの停止は死に値します。 サーバ管理者は皆、突然の死に備えるべきです。 そんな過酷な場面に立ち向かうサーバ管理者の皆さんの苦労を少しでも軽減する為に、apache モジュールを書きました。 mattn/mod_suddendeath - GitHub 突然の死! https://github.com/mattn/mod_suddendeath まずコンパイルしてインストールします。 apxs -ci mod_suddendeath.c -lhttpd -lapr-1 そして apache を再起動します。 サービスが動作しているディレクトリの .htaccess に以下を書き込みます。 SetHandler suddendeath すると
はい、これは僕がいつも良く見る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
人間とウェブの未来(旧) 「ウェブの歴史は人類の歴史の繰り返し」という観点から色々勉強しています。2014年までの人間とウェブの未来の旧ブログです。 少し前に、IIJさんによってmrubyの拡張ライブラリが公開されました。個人的にも待ちに待った公開だったので、これを使ってmod_mrubyで試しに何かしてみようと思い、エントリ名みたいな事をやってみました。 やったこととしては、 mod_mrubyをiij/mrubyの拡張ライブラリ版に対応 mod_mrubyでトラフィックを監視して閾値を超えたらtweetする機能を実装 です。 mod_mrubyをiij/mrubyの拡張ライブラリ版に対応 以下のように、Githubからmod_mrubyをダウンロードしてmakeすれば、iij/mruby拡張ライブラリ版のmod_mrubyがビルドされます。 make extend インストールは今まで
Apache Software Foundation(ASF)は8月1日(米国時間)、「Apache Deltacloud 1.0」をリリースした。複数のクラウドプロバイダを統合的に扱うためのAPIサーバーおよびドライバ集で、複数の異なるクラウドを一元管理することを可能にする。 Apache Deltacloudはクラウド間の差異を隠蔽して抽象化するAPIセットを開発することで、さまざまなInfrastructure as a Service(IaaS)型クラウドの相互運用性向上を目指すプロジェクト。当初は米Red Hatで開発され、その後ASFに寄贈された。2011年秋にASFのトプレベルプロジェクト(TLP)に昇格している。 Apache Deltacloudでは各クラウドサービスごとに「ドライバ」と呼ばれるレイヤーを用意することで、異なるクラウドサービスを統一的に操作できる。クライア
リリース、障害情報などのサービスのお知らせ
最新の人気エントリーの配信
処理を実行中です
j次のブックマーク
k前のブックマーク
lあとで読む
eコメント一覧を開く
oページを開く