HTTP over SSL を有効にして、サーバーへの接続のセキュリティを強化します。どの接続をセキュリティで保護するかによって、実際の環境で以下の項目を設定します。
- オーサーインスタンス:オーサーインスタンスへのクライアント接続をセキュリティで保護します。
- パブリッシュインスタンス:パブリッシュインスタンスへのクライアント接続をセキュリティで保護します。
- オーサー上のレプリケーションエージェント:オーサーインスタンスからパブリッシュインスタンスへの接続をセキュリティで保護します。
- Dispatcher をホストする Web サーバー: Web サーバー(および間接的にパブリッシュインスタンス)へのクライアント接続をセキュリティで保護します。
サーバーが HTTP メッセージに署名する際に使用する証明書を作成または取得します。
- 開発環境の場合は、自己署名証明書で十分です。自己署名証明書を SSL 用に使用する場合は、Web ブラウザーで Web ページを開くときに、証明書の信頼性を手動で確認する必要があります。
- 実稼動環境の場合は、証明機関(CA)の署名がある証明書を使用します。CA の公開証明書が Web ブラウザーに読み込まれると、証明書が自動的に信頼されます。
Java keytool を使用して自己署名証明書を作成し、キーストアファイルに格納します。以下の手順では、キーストアの作成に必要なすべての情報を含む単一のコマンドを使用します。このコマンドについて詳しくは、Oracle Java SE のドキュメントを参照してください。
以下の例では、次のプロパティを持つ秘密鍵と公開鍵のペアが生成されます。
- エイリアス:cqse
- キーストアファイル:cqkeystore.keystore
- キーのパスワード:password
- キーストアのパスワード:password
keytool -genkeypair -keyalg RSA -validity 3650 -alias cqse -keystore ~/Applications/cq5.5/author/ssl/cqkeystore.keystore -keypass password -storepass password -dname "CN=sbroders-w7, OU=CQ, O=Adobe, L=Ottawa, S=Ontario, C=CA"
-
keytool を使用して秘密鍵と公開鍵のペアを生成し、キーストアに追加します(開発用証明書の作成を参照)。
-
CRXDE Lite を開いて /apps フォルダーを選択します。作成/フォルダーを作成をクリックして、system という名前のフォルダーを作成します(http://localhost:4502/crx/de)。
-
名前 タイプ 値 org.apache.felix.https.enable Boolean true org.osgi.service.http.port.secure Long 5433 org.apache.felix.https.nio Boolean true org.apache.felix.https.keystore String [quickstart_dir]/ssl/cqkeystore.keystore org.apache.felix.https.keystore.password String パスワード org.apache.felix.https.keystore.key String エイリアス(例:cqse) org.apache.felix.https.keystore.key.password String パスワード org.apache.felix.https.truststore String truststore のパス org.apache.felix.https.truststore.password String truststore のパスワード (オプション)org.apache.felix.https.clientcertificate String デフォルトは none
Publsih インスタンスで HTTP over SSL を有効にして、Web クライアントおよびレプリケーションエージェントとの接続をセキュリティで保護します(レプリケーションエージェントとの接続をセキュリティで保護するには、エージェントの設定の変更も必要です。これについては次の節で説明します)。
オーサーインスタンスの設定と同じ手順に従います。ただし、次の点が異なります。
- org.apache.felix.http ノードを、Publsih インスタンス(http://localhost:4503/crx/de)の /apps/system/config.publish の下に作成します。
- オーサーインスタンスとパブリッシュインスタンスが同じコンピューター上にある場合は、org.osgi.service.http.port.secure プロパティに別のポートを使用します。
HTTP over SSL を使用してコンテンツレプリケーションをおこなう場合は、HTTPS プロトコルと、パブリッシュインスタンスが SSL に使用するポートを使用するように、レプリケーションエージェントを設定します。
以下の手順では、オーサーインスタンス上のパブリッシュエージェントを設定します。SSL 経由での通信を設定するすべてのレプリケーションエージェントに関して、この手順を実行してください。
-
ツールページ(http://localhost:4502/miscadmin)を開きます。
すべてのユーザーが SSL 経由で接続するように設定する場合は、HTTP over SSL を使用する URL にトラフィックをリダイレクトします。
以下の例では、localhost:4502 へのトラフィックを https://localhost:5433 にリダイレクトします。リダイレクトを設定するには、sling:mapping ノードを作成します。要求されている URL と一致するノード名を使用し、sling:redirect プロパティを追加して、リダイレクト用の URL を指定します。
-
Web ブラウザーで CRXDE Lite を開きます(http://localhost:4502/crx/de)。
また、要求された URL を sling:match プロパティとして照合するためのテキストを指定することもできます(Apache Sling ドキュメントの Mappings for Resource Resolution を参照)。
クライアントの要求が、オーサーインスタンスまたはパブリッシュインスタンスに到達する前に Dispatcher をターゲットとしている場合は、どの要求を SSL 経由で送信するかを決定します。
- ユーザーから Web サーバーへ
- オーサーインスタンスからフラッシュレプリケーションエージェントを経由して Dispatcher へ
ここでは、Web サーバー上で Dispatcher を設定済みであることを想定しています(Dispatcher を参照)。
パブリッシュインスタンスとの SSL 接続を使用するように Dispatcher を設定する方法について詳しくは、Dispatcher での SSL の使用を参照してください。
SSL を使用して Web クライアントと Web サーバーの間の接続をセキュリティで保護するように、Web サーバーを設定します。Web サーバー用に SSL を有効にする方法について詳しくは、Web サーバーのドキュメントを参照してください。
- Apache HTTP Server:http://httpd.apache.org/docs/2.0/ssl/ssl_howto.html
- Microsoft IIS:http://learn.iis.net/page.aspx/144/how-to-set-up-ssl-on-iis/
- Oracle iPlanet Web Server:http://docs.oracle.com/cd/E19146-01/821-1828/gbthq/index.html
セキュリティで保護されている接続タイプと保護されていない接続タイプのそれぞれに個別のキャッシュを有効にする方法は、この記事では説明しません。ただし、次の方法を調べることはできます。
- すべての SSL 接続を、別のサブドメインにある別の Apache Web サーバーおよび Dispatcher にルーティングする方法。
- URL リダイレクトルール(Apache の場合は mod_rewrite ディレクティブ)を使用して、DocumentRoot の下の別々の場所にコンテンツをキャッシュする方法。
フラッシュ要求を SSL 経由で Dispatcher に送信する場合は、Dispatcher フラッシュレプリケーションエージェントを設定します。
レプリケーションエージェントの設定の手順に従って、Web サーバー用に設定されている SSL ポート(通常は 443)を使用します。