Liferay サポートは、特定のサードパーティ製品を他の製品よりも推奨または支持するものではありません。 Liferay は、これらの製品に関して本書または参照されている指示について責任を負いません。 これらの原則の実装は、加入者の責任です。
この記事では、Apache などの外部サーバーを使用せずに Tomcat で HTTPS をセットアップする方法について説明します。 利用可能なパブリック wiki ページに既存の wiki がありますが、次に示すのは、HTTPs セットアップのよりユーザーフレンドリーなガイドです。
環境
- Liferay DXP 7.0
- Liferay ポータル 6.2 EE
解像度
keytool を使用して自己署名証明書を作成します。
- Tomcat フォルダー (例:
C:\liferay\bundles\liferay-portal-6.0-ee\tomcat-6.0.29
) でコマンド プロンプトを開き、次のコマンドを入力します:keytool -genkey -alias tomcat -keyalg RSA -keystore キーストア
- いくつかの情報を求めるプロンプトが表示されます。 さまざまなフィールドに何を使用してもかまいませんが、パスワードとして changeit を必ず使用してください。
- キーストアのパスワードを入力してください: changeit
- 新しいパスワードを再入力してください: changeit
- あなたの姓名は何ですか?
- [Unknown]: ジョーブログ
- 組織単位の名前は何ですか?
- [不明:] ライフレイ
- あなたの組織の名前は何ですか?
- [Unknown]: 株式会社ライフレイ
- あなたの都市または地方の名前は何ですか?
- [Unknown]: ダイヤモンドバー
- あなたの州または県の名前は何ですか?
- [Unknown]: 約
- このユニットの 2 文字の国コードは?
- [Unknown]: 私たち
CN=joe bloggs, OU=liferay, O=liferay inc, L=diamond bar, ST=ca, C=us correct? [no]: yes
ここで、生成したばかりの証明書を使用するように Tomcat を構成します。 編集 TOMCAT_HOME\conf\server.xml
.
SSL セクションのコメントを外し、次のようになるように keystoreFile パラメータを追加します。
<Connector port="8443" protocol="HTTP/1.1" SSLEnabled="true" maxThreads="150" scheme="https" secure="true" clientAuth="false" sslProtocol="TLS" keystoreFile="C:/liferay/bundles/liferay-portal-6.0-ee/tomcat-6.0.29/keystore" keystorePass="changeit" />
次に、証明書を JVM のキーストアにインポートします。 これは、これが「信頼できる」証明書であることを JVM に伝え、Liferay が Tomcat に https リクエストを行うときに、エラーなしで処理を続行できるようにします。
手順 1 で生成したキーストアからキーをエクスポートします。 これにより証明書が抽出され、JVM のストアにインポートできるようになります。
keytool -export -alias tomcat -keypass changeit -file server.crt -keystore keystore
証明書を JVM にインポートします。 「cacerts」は、JVM キーストアのファイル名です。 ( %JAVA_HOME%\jre\lib\security\cacerts
にある必要があります)
keytool -import -alias tomcat -file server.crt -keypass changeit -keystore "C:\Program Files\Java\jre6\lib\security\cacerts"
*ローカル構成によっては、cacerts ファイルのアクセス許可を変更する必要がある場合があります。
これで、 https://localhost:8443を使用して Web サイトにアクセスできるはずです。
追加情報
- サイト全体で HTTPS を使用するように設定するには、portal-ext.properties で次のように設定します:
web.server.protocol=https
- ログインページのみを HTTPS に設定するには、この iin portal-ext.properties を設定します:
company.security.auth.requires.https=true
- SSL 実稼働環境内で、SSL 証明書が「信頼されたルート」ではないと定義する「証明書エラー」を受け取った場合は、認証局プロバイダーからデジタル署名を取得する必要がある場合があります。
- 参照: Liferay DXP 7.3 の Tomcat で HTTPS を構成する方法