Apache Tomcatネイティブライブラリは、Apache Tomcatで使用するためのオプションのコンポーネントで、TomcatがJSSEの代わりにOpenSSLを使用してTLS接続をサポートできるようにします。
ドキュメントインデックス
導入
見出し
- 2023年10月2日 - TC-Native-2.0.6がリリースされました
Apache Tomcatチームは、Tomcat Native 2.0.6 Stableがすぐに利用可能になったことを発表できることを誇りに思っています。
ソースと、選択されたプラットフォームのバイナリはダウンロードページから利用できます。
変更の完全なリストについては、Changelogをご覧ください。
ビルド
要件
tc-nativeのビルドには3つのコンポーネントがインストールされている必要があります
- APRライブラリ
- OpenSSLライブラリ
- Java SE Development Kit(JDK)
debianベースのLinuxでは、これらの依存関係を次のようなものでインストールできます。
apt-get install libapr1.0-dev libssl-dev
rpmベースのLinuxでは、これらの依存関係を次のようなものでインストールできます。
yum install apr-devel openssl-devel
UNIX
すべてのPOSIXシステム(Linux、Solaris、HP-UX、AIXなど)で、tc-nativeをビルドするために、よく知られたconfigureとmakeが使用されます。
jni/nativeで実行します
./configure --help
すべてのパラメータの説明を読む。
./configure --with-apr=$HOME/APR \
--with-java-home=$JAVA_HOME \
--with-ssl=$HOME/OPENSSL \
--prefix=$CATALINA_HOME
tc-nativeをビルドできるように、インクルードとMakefilesを作成します。
ここで
$HOME/APR
は、/usr/bin/apr-1-configやaprがインストールされているパスのようなものです。
$JAVA_HOME
は、/home/jfclere/JAVA/jdk11やJDKインストールへのパスのようなものです。どのJDKでも機能するはずですが、Tomcatで使用しているJVMと同じJVMバージョンを使用することをお勧めします。
$HOME/OPENSSL
は、OpenSSLがインストールされているパスです。
$CATALINA_HOME
は、生成されたライブラリがインストールされるパスです。$HOME/apache-tomcat-10.1.0のようなものです。
configureは、ほとんどのOpenSSL標準インストールを推測できます。したがって、ほとんどの場合は次の操作で十分です。
./configure --with-apr=/usr/bin/apr-1-config \
--with-java-home=/home/jfclere/JAVA/jdk11 \
--with-ssl=yes \
--prefix=$CATALINA_HOME
ライブラリをビルドしてインストールするには
make && make install
ライブラリは$CATALINA_HOME/libにあります。
インストールとテスト
Tomcatの設定
Apache Tomcatには、AprLifecycleListener
がデフォルトで有効になっています。それでも、conf/server.xml
を確認して、次のようなものが存在し、コメントアウトされていないことを確認する必要があります。
<Listener className="org.apache.catalina.core.AprLifecycleListener" SSLEngine="on" />
構成の詳細は、Apache Tomcatドキュメントを参照してください。
UNIX
$CATALINA_HOME/bin/setenv.shを編集します(必要に応じてファイルを作成します)およびtc-nativeライブラリへのパスをLD_LIBRARY_PATHに追加します。そのようなもの
LD_LIBRARY_PATH=$LD_LIBRARY_PATH:$CATALINA_HOME/lib
export LD_LIBRARY_PATH
Tomcatを起動し、次のようなメッセージを確認します。
15-Jun-2022 11:06:23.274 INFO [main] org.apache.catalina.core.AprLifecycleListener.lifecycleEvent Loaded Apache Tomcat Native library [2.0.0-dev] using APR version [1.7.0]
15-Jun-2022 11:06:23.298 INFO [main] org.apache.catalina.core.AprLifecycleListener.initializeSSL OpenSSL successfully initialized [OpenSSL 3.0.4-dev 3 May 2022]
コネクタを構成するには、Tomcatドキュメントを参照してください (次のものを参照)Tomcat 11.0.x, Tomcat 10.1.x, Tomcat 9.0.x and Tomcat 8.5.x)
Windows
$CATALINA_BASE\bin\setenv.batを編集します(必要に応じてファイルを作成します)およびtc-nativeライブラリ、apr、OpenSSLへのパスをPATHに追加します。例:
set PATH=%PATH;C:\cygwin\home\support\tomcat-native-current-win32-src\jni\native\Debug;C:\cygwin\home\support\tomcat-native-current-win32-src\jni\apr\Debug;C:\OpenSSL\lib\VC
Tomcatを起動し、次のようなメッセージを確認します。
15-Jun-2022 11:06:23.274 INFO [main] org.apache.catalina.core.AprLifecycleListener.lifecycleEvent Loaded Apache Tomcat Native library [2.0.0-dev] using APR version [1.7.0]
15-Jun-2022 11:06:23.298 INFO [main] org.apache.catalina.core.AprLifecycleListener.initializeSSL OpenSSL successfully initialized [OpenSSL 3.0.4-dev 3 May 2022]