Archive for 3月, 2008

SDC連載開始 : GlassFishではじめるアプリケーションサーバのかんたん構築



さて、今月よりGlassFish/Sun Java System Application Serverに

関する技術的な話題について、SDCの方で連載を開始致しました。



SDC連載:GlassFishではじめるアプリケーションサーバのかんたん構築(導入編)



私のブログや、岡崎さんのブログでも

インストール方法について書いておりますが、連載記事になるという事で、

初心者の方がアプリケーションサーバの導入をかんたんに行う事ができるように、

最初の一歩から応用編まで色々な話題を本連載で取り上げていきたいと思っております。



私がブログで書いている事とかぶる点も多々出てくるかと思いますが、

SDCに連載される記事の方が綺麗にまとまっていると思いますので、

今後は、私のブログ共々SDCの連載記事の方もどうぞ宜しくお願いします。




2008年3月13日 at 3:18 午前 1件のコメント

Solaris 10のゾーンにApplication Server 9.1をインストールする翻訳記事の御紹介



Solaris 10の仮想化のゾーン内にSun Java System Application Server 9.1を

インストールする際の注意点等が下記にまとめられています。



Solaris 10にアプリケーションサーバをインストールする方は

是非、一度御確認ください。




http://www.sun.com/bigadmin/hubs/multilingual/japanese/content/glassfishsolariszones.jsp






2008年3月12日 at 11:40 午後

1. OpenSSLでクライアント認証「認証局(CA)構築編」

Translate to English by Google




さて今日から数回の連載で、Sun Java System Web Server 7.0の

リバースプロキシの機能、もしくはSun Java System

Application Server 9.1 with HADBに付属するロードバランサプラグイン

をSun Java System Web Server 7.0にインストールして、

前段(DMZ)にWeb Serverを置いて、Web Serverでクライアント認証を

行わさせた後に、後段のApplication Serverの提供するサービスを

利用できるようにする方法について紹介していきたいと思います。


今回、構成するネットワーク構成としては下記のイメージになります。





まず、はじめにクライアント認証を行うために、証明書を認証局(CA)で署名しますが、

今回は、Solaris 10に付属するOpenSSLを使用して、自前で認証局を構築し、

その後で、Web Serverのサーバ証明書やクライアント証明書を作成

していく方法を紹介していきます。


まず、はじめに、Solaris 10に付属するOpenSSLを使用して、

認証局を構築する方法から紹介して行きたいと思います。


Solaris 10には既にOpenSSLのコマンドやライブラリがインストール

されています。(/usr/sfw/bin/openssl)

また、各種設定ファイルは/etc/sfw/openssl配下に存在しています。


まずは、認証局(CA)を構築する為に下記のファイルを修正して下さい。



OpenSSLの設定ファイルの編集

> vi /etc/sfw/openssl/openssl.cnf

basicConstraints=CA:TRUE <—FALSEから変更



次に、実際に認証局を構築します。


OpenSSLで認証局(CA)の構築

> /usr/sfw/bin/CA.pl -newca

CA certificate filename (or enter to create)


Making CA certificate …

Generating a 1024 bit RSA private key

…………++++++

………….++++++

writing new private key to ‘./demoCA/private/cakey.pem’

Enter PEM pass phrase: [********]

Verifying – Enter PEM pass phrase:[********]

—–

You are about to be asked to enter information that will be incorporated

into your certificate request.

What you are about to enter is what is called a Distinguished Name or a DN.

There are quite a few fields but you can leave some blank

For some fields there will be a default value,

If you enter ‘.’, the field will be left blank.

—–

Country Name (2 letter code) [US]:JP

State or Province Name (full name) [Some-State]:Tokyo

Locality Name (eg, city) []:Setagaya

Organization Name (eg, company) [Unconfigured OpenSSL Installation]:Sun Microsystems K.K.

Organizational Unit Name (eg, section) []:Software Practice

Common Name (eg, YOUR name) []:Hanako Yamada

Email Address []:Hanako.Yamada@foo.bar.jp

コマンドを実行するとコマンドを実行したカレントディレクトリに「demoCA」と

呼ばれるディレクトリが生成されます。


> ls

demoCA

> cd demoCA/

> ls

cacert.pem certs crl index.txt newcerts private serial

> cp -R * /etc/sfw/openssl/

ここで、認証局を構築した際に、自動的に生成される認証局の証明書の中身を

確認してみましょう。

また、上記のように生成されたファイルは全て「/etc/sfw/openssl」ディレクトリ配下に

コピーしておいてください。


認証局(CA)の証明書の内容の確認

> openssl x509 -in /etc/sfw/openssl/cacert.pem -text


Certificate:
Data:
Version: 3 (0x2)
Serial Number: 0 (0x0)
Signature Algorithm: md5WithRSAEncryption
Issuer: C=JP, ST=Tokyo, L=Setagaya, O=Sun Microsystems K.K., OU
=Software Practice, CN=Hanako Yamada/emailAddress=Hanako.Yamada@
foo.bar.jp
Validity
Not Before: Mar 11 05:38:13 2008 GMT
Not After : Mar 11 05:38:13 2009 GMT
Subject: C=JP, ST=Tokyo, L=Setagaya, O=Sun Microsystems K.K., OU
=Software Practice, CN=Hanako Yamada/emailAddress=Hanako.Yamada@
foo.bar.jp
Subject Public Key Info:
Public Key Algorithm: rsaEncryption
RSA Public Key: (1024 bit)
Modulus (1024 bit):
00:c2:b4:90:83:a9:bd:0a:2c:c0:ef:15:e3:4b:7c:
95:02:05:0d:92:5c:4a:b8:cf:6e:29:3f:1f:a0:e6:
f2:ef:64:66:4d:fb:d1:52:88:b7:77:05:08:d3:42:
71:40:3b:c1:be:66:4f:12:53:9c:2f:5a:a4:e8:7e:
c7:10:c0:80:7d:f0:09:90:fb:ef:c8:10:93:14:d2:
87:d0:68:08:bc:26:92:c9:05:f5:b6:6c:7b:21:5a:
5e:69:ef:a3:c0:a5:51:87:05:30:b3:3f:17:fa:78:
d7:74:5f:6b:86:dc:08:3d:3a:bc:41:18:fe:1b:80:
4e:b5:65:4a:3c:b7:ad:fc:f5
Exponent: 65537 (0x10001)
X509v3 extensions:
X509v3 Subject Key Identifier:
36:1F:D0:6B:95:99:BC:CB:FE:D9:C5:E6:F0:27:6B:36:96:89:E5:B0
X509v3 Authority Key Identifier:
keyid:36:1F:D0:6B:95:99:BC:CB:FE:D9:C5:E6:F0:27:6B:36:96:89:E5:B0
DirName:/C=JP/ST=Tokyo/L=Setagaya/O=Sun Microsystems K.K./OU
=Software Practice/CN=Hanako Yamada/emailAddress=Hanako.Yamada@
foo.bar.jp
serial:00
X509v3 Basic Constraints:
CA:TRUE
Signature Algorithm: md5WithRSAEncryption
8e:8f:5b:6a:a4:5c:78:63:da:66:42:96:9b:c7:85:4a:8a:1a:
fd:be:5c:8a:7c:f7:bf:ba:8a:c5:92:a6:2a:1b:23:66:1c:85:
9d:ee:c1:5c:2a:98:ba:6b:73:83:27:00:81:79:0a:cc:bc:9e:
c8:bf:d1:ba:55:ed:75:ed:68:b9:b0:88:7c:09:73:12:10:f7:
86:9d:4c:05:b2:78:fc:fc:3b:23:a8:b1:c9:fd:64:92:b7:fb:
f9:a2:77:fc:a4:01:66:b7:25:5c:ad:5a:1b:28:e7:40:a3:90:
13:65:c7:19:ec:14:7f:e3:ae:93:ab:fb:07:e4:eb:11:18:af:
64:5d
—–BEGIN CERTIFICATE—–
MIID4jCCA0ugAwIBAgIBADANBgkqhkiG9w0BAQQFADCBrTELMAkGA1UEBhMCSlAx
DjAMBgNVBAgTBVRva3lvMREwDwYDVQQHEwhTZXRhZ2F5YTEeMBwGA1UEChMVU3Vu
IE1pY3Jvc3lzdGVtcyBLLksuMRowGAYDVQQLExFTb2Z0d2FyZSBQcmFjdGljZTEW
MBQGA1UEAxMNSGFuYWtvIFlhbWFkYTEnMCUGCSqGSIb3DQEJARYYSGFuYWtvLllh
bWFkYUBmb28uYmFyLmpwMB4XDTA4MDMxMTA1MzgxM1oXDTA5MDMxMTA1MzgxM1ow
ga0xCzAJBgNVBAYTAkpQMQ4wDAYDVQQIEwVUb2t5bzERMA8GA1UEBxMIU2V0YWdh
eWExHjAcBgNVBAoTFVN1biBNaWNyb3N5c3RlbXMgSy5LLjEaMBgGA1UECxMRU29m
dHdhcmUgUHJhY3RpY2UxFjAUBgNVBAMTDUhhbmFrbyBZYW1hZGExJzAlBgkqhkiG
9w0BCQEWGEhhbmFrby5ZYW1hZGFAZm9vLmJhci5qcDCBnzANBgkqhkiG9w0BAQEF
AAOBjQAwgYkCgYEAwrSQg6m9CizA7xXjS3yVAgUNklxKuM9uKT8foOby72RmTfvR
Uoi3dwUI00JxQDvBvmZPElOcL1qk6H7HEMCAffAJkPvvyBCTFNKH0GgIvCaSyQX1
tmx7IVpeae+jwKVRhwUwsz8X+njXdF9rhtwIPTq8QRj+G4BOtWVKPLet/PUCAwEA
AaOCAQ4wggEKMB0GA1UdDgQWBBQ2H9BrlZm8y/7ZxebwJ2s2lonlsDCB2gYDVR0j
BIHSMIHPgBQ2H9BrlZm8y/7ZxebwJ2s2lonlsKGBs6SBsDCBrTELMAkGA1UEBhMC
SlAxDjAMBgNVBAgTBVRva3lvMREwDwYDVQQHEwhTZXRhZ2F5YTEeMBwGA1UEChMV
U3VuIE1pY3Jvc3lzdGVtcyBLLksuMRowGAYDVQQLExFTb2Z0d2FyZSBQcmFjdGlj
ZTEWMBQGA1UEAxMNSGFuYWtvIFlhbWFkYTEnMCUGCSqGSIb3DQEJARYYSGFuYWtv
LllhbWFkYUBmb28uYmFyLmpwggEAMAwGA1UdEwQFMAMBAf8wDQYJKoZIhvcNAQEE
BQADgYEAjo9baqRceGPaZkKWm8eFSooa/b5cinz3v7qKxZKmKhsjZhyFne7BXCqY
umtzgycAgXkKzLyeyL/RulXtde1oubCIfAlzEhD3hp1MBbJ4/Pw7I6ixyf1kkrf7
+aJ3/KQBZrclXK1aGyjnQKOQE2XHGewUf+Ouk6v7B+TrERivZF0=
—–END CERTIFICATE—–



以上で、Solaris 10を使用したOpenSSLの認証局の構築は終わりです。

次回は、Sun Java System Web Server 7.0のサーバ証明書を作成する方法を紹介します。


2008年3月12日 at 11:35 午前

HADBを使用した高可用性を実現する際のモデリングガイド



ホワイトペーパの翻訳が出来上がりました。



Sun™ Java System Application Serverの可用性モデリングの入手先



こちらを読んで頂くと、HADBを使用すると、

何故、高可用性レベルが99.999%になるかについて、

計算式から理論的に導きだされた証明が

詳しく書かれています。



PS.

資料のアプリケーションサーバのバージョンは7.0をベースに

記載されていますが、HADBについての概念は、現在の

Sun Java System Application Server 9.1 with HADBの

HADBでもそのまま使えますので、こちらの資料を御参照ください。




2008年3月11日 at 3:35 午前

ちょっと早めな花見

先週もかなり忙しい1週間を送りました。

私の担当はGlassFishだけではなく、Web ServerやProxy等も担当してたりします。



そこで、今はWeb ServerとLDAPサーバを使ったセキュアな環境構築

(Web ServerとLDAPサーバを使ったクライアント認証)

の検証等をしているわけですが、もう少し時間がかかりそうです。

今週も環境構築と動作検証で終わるかな?

日本語の情報が少ないのでまとまったら、ブログ上にでも公開するかな?



さてさて、週末は皆様と同じように私も充電というか骨休みをしないと次の週に

影響がでます。そこで、週末は内の奥様と一緒に静岡の堂ヶ島まで小旅行に行って参りました。



昨日は今日と違いとても天気の良い清々しい天気だったので、

堂ヶ島の景色もとても綺麗でした。

でも、花粉はすごいですね!!最近私の症状はおさまっていたのですが、

さすがに昨日はくしゅん、くしゅんしました。

夜も寝れない位ひどかったので、久しぶりに鼻炎薬を飲んで寝ました。







帰りには、伊豆高原の下辺りの河津と呼ばれる地方で一足早い桜祭りをやっていたので、

そちらにもよって一足早い春を満喫して来ました。















さて、今週もがんばるぞ!!


2008年3月9日 at 10:55 午後

御注意:ロードバランサー構築時の問題の解決方法



1点問題を報告します。

私が過去にブログで書いた下記のエントリで、

マルチリンガル版を使用して下記の手順通りに設定して頂くと

正常に動作しないという問題を確認しました。

今日は、その問題の御報告と対処方法について説明します。



ロードバランサプラグインのインストールと設定



私が上記のエントリを書いていた時は、まだマルチリンガル版がリリースされておらず、

英語版(テクニカルプレビュー版)を使用してインストール、設定を行っていたので

実際に上記の通り問題ありませんでした。



今回、御紹介する問題はマルチリンガル版においてのみ発生致します。

そこで、英語版を使用した場合にはこの問題は発生いたしません。



詳細は、下記に記載しております。



https://glassfish.dev.java.net/issues/show_bug.cgi?id=4288



 #このエントリを読んでいただいた日本人の方は是非、

 #注目度を上げるため、投票を行って頂けないでしょうか。

 #当然、私の方から社内から、エンジニアリングチームに対して

 #プッシュを掛けておりますが。(次期バージョンで修正される予定)

 #注目度が高いとそれだけ日本人が望んでいるんだという証になります。



さて、実際の問題についての報告ですが、ロードバランサプラグインを

設定して頂いている環境で、クライアントのブラウザからLBプラグイン

経由でアプリケーションサーバにアクセスをすると、期待するコンテンツが

ブラウザに正常に表示されずバイナリデータをダウンロードするウィンドウが

表示されるという現象が発生する事があります。

この問題は、当初Webサーバ側、もしくはロードバランサプラグイン側の

問題ではないかと思っていたのですが、実は、アプリケーションサーバ側の

問題でした。



アプリケーションサーバ側では、送信されてきたHTTPリクエストに対する

レスポンスを返す際に、下記のようなHTTPヘッダに変な文字列を付け加えて

投げ返すように実装されておりました。



*************************************************

HTTP/1.1 200 ・

HTTP/1.1 302 B・・ユW~W_

HTTP/1.1 401 *

HTTP/1.1 404 掬K樫[

HTTP/1.1 500 ・オ・・鵈

*************************************************



上記は、ヘッダ内のレスポンス応答文字列も日本語化していた

ために発生しているのですが、HTTPヘッダの内容はASCIIテキストで

返さない場合、HTTPクライアントによっては変な挙動を起こしてしまいます。



本問題に対する対処方法についてですが、

各インスタンスのJVMの設定において、「JVM オプションを追加」ボタンを

押下して、”-Duser.language=en”のオプションを追加して頂ければ、

問題を回避できます。







このオプションにつきましては、内部的なログファイルの内容が

英語で表示される等の変更がありますが、基本的にはシステムの運用に対する影響は

少なく、Webの管理画面につきましても、上記の画面を見て頂く通り、ブラウザの

ロケールが日本語環境に設定されている場合、日本語で管理画面が表示されます。



また作成頂いた日本語アプリケーションも問題なく扱える事まで確認しております。





(UTF8確認)



このワークアラウンドを使用して仮に何らかの問題があった場合は、

コメント欄に記載して下さい。



つか、HTTPヘッダまで日本語化してしまっていたなんて。。。(T_T)





追記です(2008/03/13)

********************************************************************************

本問題は、次期バージョンであるSun Java System Application Server 9.1.1で

修正される事が正式に決まりました。ですのでSun Java System Application

Server 9.1.1以降を御使用の方は本ワークアラウンドの適用は行わなくても

よくなります。

********************************************************************************




2008年3月7日 at 3:05 午前

OSC 2008への参加

先週金曜日にオープンソースカンファレンス2008にて

GlassFishについて発表して来ました。



発表の時に使用した資料はカンファレンス事務局に提出してますので、

後から公開されると思います。







当日は、下の部屋の定員80名入れる部屋が満員になる位

多くの方に聞いて頂き非常に嬉しい限りでした。(^_^)







今までは、Sunが主催するイベントで発表する事が多かったのですが、

外部のイベントに参加して発表するのもとても良い経験でした。

ご来場頂いた方を見回すと、今回、初めて御会いする方が多かったので、

来て頂いた方に少しでも興味を持ってもらえるといいな!!と思いながら

説明をしておりました。



発表中でも話たのですが、下のGoogleマップの日本地図が

アメリカやヨーロッパと同じように赤で埋め尽くされるように

なればいいな!!なんて思っています。



http://beta.glassfish.java.net:81/maps/



自分の発表が終わった後、Sunのブースで町田さんや鈴木さん達が

展示していたので足を運び、SunSPOTについて、私の少ない

知識ながらもちょっと応援をしてきました。







初日のイベントが終わって夕方から、大久保の韓国焼き肉屋さんで

関係者の懇親会があったので、Sunの増月さんと一緒にあるいて

向かいました。

歩いていて気付いたのですが大久保って韓国人の方や中国人の方が本当に

多い街なんですね!!

初めてしりました。私も関東にかれこれ15〜16年住んでいるのですが、

大久保で下車したのは初めてでした。歩いていると上からスピーカで、

韓国語だか、中国語が流れてきます。また通りを歩いている方たちも、

韓国語だか、中国語だかでしゃべっています。

こんなに多くの方がいる中で歩いていると、ここは日本なのか?と

疑う位でした、そして横浜の中華街よりも多いんじゃないかと思うくらいでした。



さて、懇親会の会場につくと、今までこういった場にでかける事が

少ない私は当然、周りは知らない方だらけで、とても有名な方と

一緒に食事をしていたにも関わらず、全くしらずに後から名前を

伺ってびっくり!!なんて事がありました。

でも、私にとっては非常に貴重な出会いが多くありました。



皆様、色々な分野で御活躍をされていて、日本のオープンソースを

みんなで盛り上げて行くんだ!!という意気込みに共感を覚えると共に

オープンソース化を推進している会社につとめる1社員として

私ももっと色んな意味で頑張らなければと痛感した日でも有りました。



1次会が終わった後、2次会に参加したのですが、こちらも

実は貴重な体験を体験しちゃいました。(^_^;)

1次会で隣りで御一緒させて頂いた株式会社CMSコミュニケーションズの寺田社長

の御誘いで、2次会に伺う事になりました。(手前のバッジを持ってらっしゃる方)



   #同じ、寺田という名字で驚き!!



2次会では某外資系大手ベンダーHさんが多く集まる中私Sunのエンジニアが

1人で飛び込んで行ってしまい、最初挨拶した時はかなり冷や汗たらたら状態(^_^;)

だったのですが、Hのエンジニアさんと、会社の垣根を超えて技術者同士の

意見交換ができたので、最後は打ち解けさせていただき、参加させて

頂いて本当に良かったと思っております。

温かく、また優しく迎えて頂いたHの皆様、本当にありがとうございました!!

そして株式会社CMSコミュニケーションズの寺田社長
2次会に御誘い頂き
ありがとうございました。



このカンファレンスでも、非常に多くの貴重な方との出会いがあり、

私自身にとってもとても有意義なカンファレンスでした。








PS.

最近、技術的な話題をかいていないのですが、

今月からSDCで始まるGlassFishの連載記事を書いていますので御許しください!!(今日締め切りだ!!)


2008年3月3日 at 1:00 午前 4件のコメント

新しい投稿


Java Champion & Evangelist

Translate

ご注意

このエントリは個人の見解であり、所属する会社の公式見解ではありません

カレンダー

2008年3月
 12
3456789
10111213141516
17181920212223
24252627282930
31  

カテゴリー

clustermap

ブログ統計情報

  • 1,267,804 hits

RSSフィード

アーカイブ