Software : Tomcat 4.1, 5.0, 5.5, 6.0 Tomcatのデフォルトのエラー画面って、スタックとレースとか情報が出すぎてる気がしませんか? もちろんデバッグ用途なら問題ないんですけどね。 私はこのエラー画面を Apache ライクにしたいと思って色々調べてみました。 方法は、エラーページを生成しているクラス:org.apache.catalina.valves.ErrorReportValve を改変するエラーページを生成しているクラス:org.apache.catalina.valves.ErrorReportValve を継承したカスタムコンポーネントを作って使用するの2通りありますが、前者はソースをダウンロードして改変するだけと簡単なので後者の説明を。 1.カスタムコンポーネントの作成 org.apache.catalina.valves.ErrorRe
ここではTOMCAT上で稼働するJavaプログラムからデータベースを操作するとき、データベースとの接続にコネクションプール:DBCP(DataBase Connection Pool)という仕組みを使う方法について説明します。 Javaプログラムからデータベースにアクセスする場合で、JDBCを使った例で手順を説明すると次のようになります。 Class.forName(対象JDBCドライバ)でJDBCドライバをロード DriverManager.getConnection(接続先DB, 接続ユーザーID, 接続パスワード)でDBに接続し、コネクション(Connection):接続を取得 取得したコネクション:接続からStatementを生成し、SQL文を設定して実行 処理終了後にStatementをClose 続いてコネクション(Connection):接続をCloseしてDBから切断 この
mod_jkのオプション1つでメモリリークが発生していた現実 本システムでは、mod_jkを用いてApache-Tomcatの連携を行っている。mod_jkは一度作成したコネクションを使い回す。そのため、単純に考えればApache起動数と同じだけのObjectNameしか生成されないはずだ。 しかし現実には、ObjectNameは増え続けている。解析に落ち度があったのか、それとも、何かを見落としているのか。 ■原因解明のために有識者に聞き込み そこで、各種設定ファイルを持参のうえ、Apache・modjk・Tomcatの有識者と打ち合わせを行った。すると、mod_jkのrecycle_timeout(現在はconnection_pool_timeout)オプションが原因で、コネクション切断/再接続が行われるという情報を得た。 recycle_timeoutは、mod_jkがコネクションを再
「ウェブリブログ」は 2023年1月31日 をもちましてサービス提供を終了いたしました。 2004年3月のサービス開始より19年近くもの間、沢山の皆さまにご愛用いただきましたことを心よりお礼申し上げます。今後とも、BIGLOBEをご愛顧賜りますよう、よろしくお願い申し上げます。 ※引っ越し先ブログへのリダイレクトサービスは2024年1月31日で終了いたしました。 BIGLOBEのサービス一覧
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 「プ
Tomcatは、存在しないURLへのリクエストがあったとき、認証に失敗したときやサーブレットにエラーがあったときなど、HTTPのエラー発生時には以下のようなエラーページを表示します。 しかし、このエラーページはセキュリティ的に問題となることがあります。使用しているTomcatのバージョンがエラーページのフッタに表示されるからです。エラーページの表示から、脆弱性のあるバージョンを使用していることを知られ、攻撃対象にされてしまう危険があります。もちろん、メンテナンスが万全で、脆弱性が発見されるたびに最新バージョンにアップデートしているシステムなら、バージョンが表示されても問題はありませんが、現実はなかなかそういかないでしょう。 このような危険を防ぐために、エラーページを自前で用意したものに置き換え、セキュリティの向上を図るべきです。Tomcatでは、Apacheと同様にエラーコードに応じて独自
こんにちは、 最近愛用のMacbookが外観も中身もボロボロになってきて悲しいkyannyです。 ライブドアでは、画像やCSSファイルやjavascriptファイルなどの静的なコンテンツを配信するウェブサーバとウェブアプリケーション本体が稼働するアプリケーションサーバを別々のホストで運用する、いわゆるリバースプロキシ環境を構築しています。今回は、このリバースプロキシ環境の作り方を解説します。 リバースプロキシとは リバースプロキシとはプロキシサーバの一種で、クライアントに対してファイアウォールの中にあり外部のネットワークから直接アクセスできないサーバへのアクセスを提供する機能です。これ以外にも、複数のバックエンドサーバを用意して負荷分散をしたり、プロキシサーバでキャッシュを併用することでバックエンドサーバへのリクエストを減らしたりと、様々なシーンで活用できるため、大規模なウェブサイトを構築
全て 1.このサイトについて 2.作品DB開発/運用 3.ホームページ制作技術 4.Perl 5.C言語 / C++ 6.検索エンジン&SEO 7.サッカー 8.自分のこと 9.Linux 10.旅行 11.思ったこと 12.パソコン 13.Berkeley DB 14.その他技術系 15.企画 16.スマートフォン 17.鑑賞 18.皆声.jpニュース 19.インターネット業界 20.運用マニュアル(自分用) 21.技術系以外実用書 22.料理 23.ALEXA 24.アニメ 25.会計 26.漫画 27.設計書 28.色々サイト作成 29.サーバー 30.自分専用 31.生活 32.OP/ED/PV 33.ゲーム 34.DB整備 35.新規開始作品紹介 36.英語圏の話題 37.大道芸 38.映画 39.PHP 40.ダイエット 41.Mac 42.JavaScript 43.MySQ
環境 CentOS 5.2 Apache 2.2 問題 Apacheプロセスを複数起動したい。 解決 いつか設定ファイルをコピー・編集することで複数起動できる。 まずは設定ファイルをコピーする。 # cp /etc/httpd/conf/httpd.conf /etc/httpd/conf/httpd2.conf # cp /etc/httpd/conf.d /etc/httpd/conf2.dドキュメント・ルートを別個に用意する場合は作成しておく。 # mkdir /var/www/html2 NICやポートの設定 httpd2.conf、conf2.d/ssl.conf を編集しNICやポートが重ならないようにする。 特にNICを分ける場合は元々の設定ファイルも編集する必要があるので注意する。 httpd2.conf の編集箇所は以下。 Listen 192.168.11.102:80
【真夏の夜のミステリー】Tomcatを殺したのは誰だ?:現場から学ぶWebアプリ開発のトラブルハック(6)(3/3 ページ) 【第6章】解決 原因が分かれば対処は簡単だ。今回のシステムでは、TomcatのmaxThreads値を350に変更した。 Apacheの全スレッド数より50多く設定した理由は、Apacheからの再接続が発生した際でも耐えられるよう、多少余裕を持つようにしたためである。どれくらい余裕を持てばよいかは、各システムの状況によって異なる。今回のシステムではこの設定変更以降、無応答となる事象は起こらなくなった。 ■負荷テストをしていたのに、なぜ問題が発見できなかったのか? 今回のシステムでは冒頭で述べたとおり、試験環境で負荷試験を行っていた。それにもかかわらず、なぜこの問題が発見できなかったのか? 実は、後から分かったことだが、負荷試験の際、APサーバの台数は本番環境と同じ2
■バージョン情報を隠蔽する 【Serverヘッダのバナーを消す】 server.xmlの<Connector>にserver属性を追加。 <Connector className="org.apache.coyote.tomcat4.CoyoteConnnector" port="8080" enableLookups="true" redirectoPort="8443" acceptCount="100" connectionTimeout="20000" useURIValidationHack="false" disableUploadTimeout="true" server="Apache" /> →これにより、ServerヘッダにApacheと表示される。 【エラーページに表示されるバージョンを消す】 $CATALINA_HOME/server/lib/catalina
設定方法 Tomcatでは、<Valve>タグを使用し、アクセスしてくる端末をIPアドレス、ホスト名により制限することができます。<Valve>タグは<Engine>タグ、<Host>タグ、<Context>タグのサブ要素として設定できます。<Engine>タグのサブ要素として設定した場合はそのTomcatエンジンすべてに対するアクセスを制限します。<Host>タグのサブ要素として設定した場合は設定した仮想ホストに対するアクセスを制限します。<Context>タグのサブ要素として設定した場合は、設定したコンテキストに対するアクセスを制限します。 ホスト名によりアクセスを制限する場合はアクセスを制限するサーバがDNSの逆引き名前解決を行える必要があります。 アクセスフィルタを行うJavaクラスを指定。IPアドレスによりフィルタする場合はorg.apache.catalina.valves.
cles::blog 平常心是道 blogs: cles::blog NP_cles() « この仕事には、過酷なバグに負けない心が必要です :: 髪をhackしました » 2007/07/07 SSLでName Based Virtual Hostをするには httpd ssl rfc 212 3へぇ もう4年位前になりますが、あるサイトのリリース前夜にSSLでName Based Virtual Hostを設定しようとしていてはまっていたエンジニアにそれができないことを教えてあげて、とても感謝されたということがありました。この件は今でも飲み会などでネタになるくらいの出来事だったので、自分自身にもそれが成功体験として残ってしまっていて「SSLでName Based Virtual Hostは使えない」とステレオタイプに考えてしまっていたんですがその知識はどうやら正確ではなかったよう
変数は以下のように値を代入したり出力することができます。 # 変数に文字列を代入 $value = "テストです"; # 変数を出力 print $value; 【参照ページ】 変数 配列 複数の値を1つの変数で管理したい場合は、『配列』という変数が最適です。 配列を初期化する場合は、要素をカッコで囲み、各要素毎にカンマで区切ります。 @week = ('日曜', '月曜', '火曜', '水曜', '木曜', '金曜', '土曜'); 配列はインデックスを使って参照します。インデックスは 0から始まるので注意してください。たとえば1番目のデータ "日曜" を呼び出すときは、$week[0]、"月曜"なら $week[1] とします。 # 配列 @week の1番目の要素を表示 print $week[0], "\n"; > 日曜 # 配列 @week の2番目の要素を表示 print $
リリース、障害情報などのサービスのお知らせ
最新の人気エントリーの配信
処理を実行中です
j次のブックマーク
k前のブックマーク
lあとで読む
eコメント一覧を開く
oページを開く