ヤフー株式会社は、2023年10月1日にLINEヤフー株式会社になりました。LINEヤフー株式会社の新しいブログはこちらです。LINEヤフーTechBlog 「細かいと言うより長いよね」 はじめに こんにちは。ATS の脆弱性を発見した小柴さんや ATS に HTTP/2 の実装を行っている大久保さんと同じチームの一年目、匿名社員M さんからいじられている新人です。今回ありがたい事に、こういったすごい方々を含めモヒカン諸先輩方より「何か書かないの?」「いつ書くの?」という数々のプレッシャーお言葉をいただきました。 というわけで、SSL/TLS のSession 再開機能に関して書いていこうかと思います。 SSL/TLS は機密性、完全性そして真正性に対して安全な通信を行うための仕組みです。しかし、この仕組みは暗号技術を多用し特に接続において複雑なプロトコルを用い、Client, Se

クラウドのホスティングサービスは、一定リソースの時間極課金+通信トラフィックの従量課金が一般的です。CPUやメモリなどのリソースは、1%しか使わなくても100%使っても時間内の料金は同じです。 一方で通信料は使った分だけGB単位などで段階的に課金される仕組みです。 この料金体系では、なるべくリソースを使い切って、且つ通信料を抑えることが最も費用対効果のある利用方法となります。 サーバーからクライアントへのレスポンス、特にブラウザーのロードとレンダリングを高速化させるために、Yahoo!のYSlowやGoogleのPage Speedを使ってチューニングを行うのと同じようなアプローチで、なるべくCPUに仕事をさせて、トラフィックを減らしてみたいと思います。 キャッシュ機能を最大限利用する Expires Apacheのmod_expiresを有効にすることで、レスポンスヘッダーにExpir

ウェブアプリケーションにおいて、認証がかかっている画像や大きなファイルを配信する場合には、Perlbal 等でサポートされている X-Reproxy-URL ヘッダが有効なことが知られていて、その理由としては、 (メモリを大食いする) アプリケーションサーバのプロセスを転送終了まで占有しない HTTP ベースの分散ファイルシステムとリバースプロキシが直接交信するので、ネットワーク負荷が低い といった点が挙げられます。「でも、Apache は X-Reproxy-URL ヘッダをサポートしてないんだよねー」という話が、先日の YAPC::Asia 2009 においても話題になっていました[要出典]。回避策としては、ワンタイムURLのような手法もあるのですが、セキュリティな懸念もあります。 なんとかしたいなと思っていたのですが、気が向いたので、Apache に X-Reproxy-URL ヘッ
最近の更新 (Recent Changes)2017-08-31FrontPage 2015-05-11plugins/SearchHyperestraierPlugin 2015-04-30plugins/MailArchiveExtPlugin 2015-04-29misc/AvatarSupport 2015-04-27plugins/MailArchivePlugin 2014-03-31plugins/ReportIncludePlugin 最新リリース情報BTS.Trac (1.0.51.183)2009-07-08 20:03ExcelRedmineAddIn (1.0.1)2009-06-15 23:07ExcelTracAddIn (1.2.1)2009-06-15 23:09OpenProj (1.4-ja-dev2)2009-08-14 09:02ProjectTra
2007年7月4日 名前ベースのVirtualHostでそれぞれのSSLサーバ証明書を使う #なんだかんだしてたら、半月経ってしまった #来週になったら、ちゃんと再開 『Name-based SSL virtual hosts』 より 名前ベースのVirtualHostでSSLを使う場合、以下の方法をとれば、それぞれのVirtualHostごとの証明書を使うことができます。 ワイルドカード証明書を使うCN=*.example.com という設定の証明書を使えば、www1.example.com と www2.example.com で共通のサーバ証明書を使うことができます。 subjectAltNameを使う 証明書の subjectAltName に別名としてVirtualHostのDNS名を書いておきます。サーバにセットする証明書は1つですが、証明書内の別名をチェックすることで、「証明
複数のテストサーバをリバースプロキシで集約 (1) - daily dayflower と 複数のテストサーバをリバースプロキシで集約 (2) - daily dayflower の続きです。 mod_rewrite の RewriteMap を使ってごにょごにょしましたが,なんともまどろっこしかったです。そもそも URI の書き換えに癖のある DSL を使う mod_rewrite を使わなきゃいけないということ自体がアレです。もっと手になじんだプログラミング言語で書ければロジックもすっきりするのに! というわけでモジュールを書いてみました(mod_proxy_mapper.c - daily dayflower)。 プロキシ専用ですが,サブリクエストを使ってプロキシ先を選定するモジュールです。 サブリクエストを使っているので,Apache でサポートしている言語ハンドラ……CGI*1
jboss.org: community driven JBoss Web ProjectおよびJBoss AS Clustering Projectから興味深いプロジェクトが発表された。その名もmod_clusterだ。現在のところ1.0.0.Beta1が公開されている。名前のとおりApache HTTP Serverで動作するモジュールで、背後で動作するTomcatやJBoss Web、JBoss ASなどのアプリケーションサーバへのコネクションを担当する。ロードバランシングの機能とプロクシの機能を備え、mod_jkとmod_proxyの双方の機能をもったような仕組みになっている。 mod_jkやmod_proxyとの大きな違いは、アプリケーションサーバからHTTPサーバへのバック通信をサポートしているところにある。HTTPメソッドでアプリケーションサーバからmod_clusterモジ
ApacheなどのWebサーバを運用していると、たまにリアルタイムで今現在の利用状況や負荷などがどうなっているかを確認したくなるときがあります。 そこで、UNIX/Linuxの"top"ライクに、Apacheの使用状況を確認することができるのが「ApacheTop」と呼ばれるツールです。 インストール インストールはパッケージ管理されているものを使うので簡単です。 $sudo apt-get install apachetopUbuntuやDebianなど、APTを使っているなら↑のような感じ。 $sudo yum install apachetopFedoraなど、YUMを使っているなら↑のような感じです。 早速使ってみる 使い方は、"-f"オプションでApacheのログファイルを指定して使います。 $ apachetop -f /var/log/apache2/access_log

結論を先に書くと「trunk使え」か?(ぇー まあ2.2.4でもなんとかなるかも。2.2.3以前だとかなり注意しないと、道を踏み外した瞬間に穴にハマりそう。 で、以下リスト。 trunkで修正されているもの Critical: リクエストが間違ったワーカーに配送される Bugzilla 40910 ポート番号に限らずホスト名(/IPアドレス)の部分一致でも発生するはてなの中の人が発見 追試済み 配送先が ajp:// の場合は正常に動作する? らしいという情報がある(未確認) stickysession/routeによるルーティングが有効でもこのバグにひっかかる 部分一致するホスト名のうち長いものを設定ファイル上で先に書いておくと回避できる 2.2.4で修正済みのもの Critical: 一度エラーになったセッションがTimeoutを過ぎてもエラーから復帰しない Bugzilla 389
今作っているサービスは、Apacheのmod_proxy_balancerを使ってロードバランシングしている。しかし、バックエンドのサービスサーバを一旦落としてから復帰させると、コネクションがしばらくつながらないという問題に悩んでいた。1分ぐらい放置するとつながるようになるんだけど、1分は結構長い。 よくわからないのでソースを読んでみたところ、mod_proxy_balancer.cを眺めた感じ、ap_proxy_retry_workerという関数がコネクションの再確立をしているのではないかと思えた。しかし、関数の定義を眺めてみると、現在時刻がエラー発生時刻とworker->retryを足した数字よりも大きければworkerのstatusからPROXY_WORKER_IN_ERRORのビットを下ろしているだけで、コネクションの確立がどうのこうのなんて関数はまったく呼ばれてない。ここでなにが
SSL(HTTPS)の使用が前提のもと、フロントエンドでApache(mod_ssl + mod_proxy_balancer)をリバースプロキシ(兼ロードバランサ)として動かして、そのバックエンドでlighttpdやmongrelを使ってRailsアプリを動かす場合のメモ。 何も考えずにRailsアプリに対してHTTPS接続を行い、アプリ内でリダイレクト(redirect_to)を行った場合、RailsアプリはHTTPSで接続されていることを知らないため、HTTPのURLへリダイレクトしてしまいます。 これを解決するためには、フロントエンドのApacheで、HTTPリクエストヘッダにHTTPS接続であることを指定することで、バックエンドのアプリに伝わるようにします。 # ↓のリンク先を参考にさせていただきましたm(_"_)m これに必要なのは、Apacheでmod_headersが組み込
This is the old, deprecated Passenger documentation. Please visit https://www.phusionpassenger.com/library/ for the new documentation.
Ruby onRailsの実行環境として注目をあびている Passenger をインストールしてみました。 少しだけトラブルもありましたが、インストールや設定は mongrelやFastCGIに比べればはるかに簡単です。 また、Apacheのモジュールになっているので運用も楽ですし、Apacheのバーチャルホスト機能を使えば、複数のRailsアプリを簡単に1つのサーバーで運用できるのが大きな魅力です。 インストール http://www.modrails.com/install.html ここに書かれているように、gem で Passenger をインストールし、専用インストールコマンドで Apacheモジュールの作成・インストールを行えば良いのですが・・・ 私のMac には Apacheが プレインストールされた /usr/sbin/ と Portでインストールした /opt/loc

Passengerを設定する手順のメモ。 まずはsudo gem install passenger apacheの設定ファイルに以下を記述 1 # for Passenger 2 LoadModule passenger_module /usr/local/lib/ruby/gems/1.8/gems/passenger-1.0.5/ext/apache2/mod_passenger.so 3 RailsSpawnServer /usr/local/lib/ruby/gems/1.8/gems/passenger-1.0.5/bin/passenger-spawn-server 4 RailsRuby /usr/local/bin/ruby 1 NameVirtualHost *:80 2 <VirtualHost *:80> 3 ServerName foobar.com
mod_perl 環境での最適な設定を探るべく,prefork MPM(すなわち古典的 Apache)について調べてみました。実地テストをしたわけではなく,あくまでドキュメントに基づくシミュレーションです。 まず,prefork MPM では ServerLimit ディレクティブはあまり意味を持ちません(MaxClients 以上の値にしておけば OK)ので省略します。 MaxClients = 8 StartServers = 4 MinSpareServers = 2 MaxSpareServers = 6 MaxRequestsPerChild > 0という設定でのシナリオを考えてみました。 コネクション動作 1.........httpd 起動したよ 2.----....StartServers = 4 だから4つフォークするよ 3.C---....1人からリクエストがきたよ 4
Apache/PHP/MySQL/SQLite/SQLiteManage/PhpMyAdmin/Zend OptimizerをWindowsにまとめてオールインワンでインストールすることができるようになっているのがオープンソースで開発されているこの「VertrigoServ」。 これらの各ソフトについて簡単に設定を変更できるコントロールパネルっぽいものがタスクトレイから一発で呼び出せるようになっており、非常に設定が簡単です。また、インストーラは日本語化されているので安心です。 実際のインストール方法などは以下から。 VertrigoServ http://vertrigo.sourceforge.net/ ダウンロードしたら実行します 「OK」をクリック 「次へ」をクリック 「同意する」をクリック 「次へ」をクリック さらに「次へ」をクリック 「インストール」をクリック インストール中……

ループ処理 mod_rewrite でループ処理を行うには、[N] (next) フラグを利用する。たとえば、/hoge/1/bar/2/baz/3/ を /hoge/index.cgi?foo=1&bar=2&baz=3 としたい (その際、パラメータの個数が不定) 場合、下記の通り記述する。"QSA" (query string append) フラグは、書き換え後の QUERY_STRING 部分のみ "追加" の扱いとする。 RewriteEngine on RewriteLog /var/log/httpd/rewrite.log RewriteLogLevel 9 # Rule 1: RewriteRule ^(/hoge/.*/)([^/]+)/([^/]+)/$ $1?$2=$3&path=$1 [QSA,N] # Rule 2: RewriteRule ^/hoge/([
ApacheLDAP StudioでLDAPはもう怖くない:CoolなEclipseプラグイン(21)(1/3 ページ) 「LDAPは難しいなぁ……」という人こそ ユーザー情報を管理するインフラとしてしばしばLDAPが利用されます。しかし、LDAPは非常に難解で取っつきにくいという印象があり、知識がない人には敬遠されがちです。本稿で紹介するApache Directory Studioを利用すると、Eclipseのビューを利用して視覚的にLDAPを操作できます。 また、GUIによる入力の補助を行ってくれるので、LDAPを利用する敷居がぐっと下がります。LDAPに興味を持っているけど、その難解さで利用に挫折した方は本稿を読んでLDAPを利用してみてください。LDAPとApacheプロジェクトLDAP(Lightweight Directory Access Protocol)とは、ディ

リリース、障害情報などのサービスのお知らせ
最新の人気エントリーの配信
処理を実行中です
j次のブックマーク
k前のブックマーク
lあとで読む
eコメント一覧を開く
oページを開く