Liferay DXP 7.3でTomcatにHTTPSを設定する方法

はじめに

Liferayサポートは、特定のサードパーティ製品を他の製品よりも推奨したり、推薦したりすることはありません。 Liferayは、これらの製品に関して、ここに記載または参照されているいかなる指示にも責任を負いません。 これらの原則を実行するのは、サブスクライバの責任です。

この記事では、Apacheのような外部サーバーを使わずにTomcatでHTTPSを設定する方法の例を説明します。 以下の手順はLiferay DXP 7.3を対象としていますが、他のバージョンのLiferay DXPに適用するためにマイナーな変更を加えることも可能です。主な変更点は、Tomcatの server.xml <Connector> の構成の内容です。

環境です。

  • DXP 7.3
  • Apache Tomcat 9.x

解像度

keytoolを使用して、自己署名証明書を作成します。

  1. ターミナルを開き、Liferay DXP 7.3バンドルのtomcatフォルダに移動します。 例を示します。 /home/user/Liferay/Bundles/liferay-dxp-7.3.10-ga1/tomcat-9.0.37
  2. そのターミナル内で以下のコマンドを使用します。 keytool -genkey -alias tomcat -keyalg RSA -keystore keystore
  3. 必要な情報を入力し、必要に応じて新しいパスワードを入力してください。 聞かれる質問の一例です。

あなたのファーストネームとラストネームを教えてください。

[Unknown]: ジョー・ブロッグス

あなたの組織単位の名前は何ですか?

[Unknown]: liferay

組織の名前を教えてください。

[Unknown]: ライフレイ社

あなたの都市や地域の名前は何ですか?

[Unknown]:シカゴ

あなたの国や州の名前は何ですか?

[Unknown]:IL

このユニットの2文字の国コードは何ですか?

[Unknown]: us

CN=joe bloggs, OU=liferay, O=liferay inc, L=Chicago, ST=IL, C=us は正しいですか?

[no]: y

キーストアが作成されたので、サーバーの証明書をエクスポートします。

4. そのためには、手順3と同じターミナルから次のコマンドを使用します。 keytool -export -alias tomcat -keypass changeit -file server.crt -keystore keystore

次に、サーバーの証明書をJDKのデフォルトのtrustStoreファイルであるcacertsにインポートします。

5. 注意すべき点は、使用するターミナルがLiferayバンドルのTomcatフォルダに開かれている必要があることです。 ただし、コマンドの対象となるのはJDKのcacertsファイルです。 例を挙げます。 keytool -import -alias tomcat -file server.crt -keypass changeit -keystore "/usr/lib/jvm/java-8-oracle/jre/lib/security/cacerts"

注:このプロセスが以前に完了している場合、JVMは以前に使用したパスワードを期待している可能性があります。

Tomcatのserver.xmlファイルを更新し、SSLを設定する。

6. 次に、Tomcatのserver.xmlファイル(/tomcat-9.0.37/conf/server.xml)を以下のように更新します。 前述の通り、以下はLiferay DXP 7.3にバンドルされているTomcatのバージョンです。 古いバージョンのTomcatでは、異なるConnector設定が必要な場合があります。

6A. 以下の <コネクタを取り外します。

   <Connector port="8443" protocol="org.apache.coyote.http11.Http11NioProtocol"
maxThreads="150" SSLEnabled="true">
<SSLHostConfig>
<Certificate certificateKeystoreFile="conf/localhost-rsa.jks"
type="RSA" />
</SSLHostConfig>
</Connector>

6B. 以下を追加し、必要に応じて keystoreFilekeystorePass の値を更新します。

<Connector
protocol="org.apache.coyote.http11.Http11NioProtocol"
port="8443" maxThreads="200"
scheme="https" secure="true" SSLEnabled="true"
keystoreFile="${user.home}/.keystore" keystorePass="changeit"
clientAuth="false" sslProtocol="TLS"/>

Liferay DXP 7.3のバンドルをアップデートして、SSL通信を期待するようにします。

  1. Liferay DXP 7.3バンドルのportal-ext.propertyファイル内に、httpsを使用するようにDXPに指示する次のプロパティを追加します
web.server.protocol=https

初期化されたバンドルへのアクセス:

  1. https:// localhost:8443でバンドルにアクセスします。自己署名証明書はほとんどの最新のブラウザーで信頼されていないため、ブラウザーのセキュリティ通知と警告を受け入れる必要がある場合があります。

追加情報

HTTPSを使用するようにサイト全体を設定するには、portal-ext.propertiesでこれを設定: web.server.protocol = httpsの

:HTTPSをするだけで、ログインページを設定するには、portal-ext.propertiesでこれを設定 = trueをcompany.security.auth.requires.https

SSL実稼働環境内で、SSL証明書を「信頼されたルート」ではないと定義する「証明書エラー」を受け取った場合は、認証局プロバイダーからデジタル署名を取得する必要がある場合があります。

関連リソース

この記事は役に立ちましたか?
3人中3人がこの記事が役に立ったと言っています