Tomcat 可以使用 Apache Portable Runtime(APR) 來(lái)增強(qiáng)可擴(kuò)展性與性能,并能更好地與原生服務(wù)器技術(shù)相集成。APR 是一種具有高度可移植性的類(lèi)庫(kù),是 Apache HTTP Server 2.x 的核心。APR 具有許多用途,包括訪問(wèn)高級(jí) IO 功能(比如 sendfile、epoll 和 OpenSSL)、系統(tǒng)級(jí)功能(隨機(jī)數(shù)生成、系統(tǒng)狀態(tài),等等)以及原生進(jìn)程處理(共享內(nèi)存、NT 管道、UNIX 套接字)。
這些特性能讓 Tomcat 成為一種通用的 Web 服務(wù)器,更使其更好地與原生的 Web 技術(shù)相集成。從整體上來(lái)說(shuō),這使得 Java 越來(lái)越有望成為一個(gè)成熟的 Web 服務(wù)器平臺(tái),而不單純是一種僅僅著重研究后端的技術(shù)。
APR 支持需要安裝三個(gè)關(guān)鍵的原生組件:
Windows 安裝文件從這里下載 32 位或 AMD 64 位,里面是包含 OpenSSL 和 APR 的集合文件。
多數(shù) Linux 分發(fā)版都會(huì)自帶 APR 與 OpenSSL 包。JNI 包裝器(litcnative)然后被編譯。它依賴 APR、OpenSSL 與 Java 頭。
需要:
當(dāng)所有的庫(kù)都正確安裝好且適用于 Java(如果加載失敗,就會(huì)顯示相關(guān)的庫(kù)路徑),Tomcat 連接器就會(huì)自動(dòng)使用 APR。這里,連接器的配置跟通常的配置沒(méi)什么不同,但會(huì)用一些特別的屬性來(lái)配置 APR 組件。對(duì)于大多數(shù)用例來(lái)說(shuō),這些屬性的默認(rèn)值都已經(jīng)非常適用了,根本不需要再加以微調(diào)。
當(dāng)啟用 APR 時(shí),Tomcat 同樣也啟用了下面這些功能:
屬性 | 描述 |
---|---|
SSLEngine
|
所要使用的 SSLEngine 名稱(chēng)。off:不使用 SSL。on:使用 SSL,但沒(méi)有特定引擎。默認(rèn)值為 on 。這將初始化原生的 SSL 引擎,然后使用 SSLEnabled 屬性在連接器中》》》。范例:
<Listener className="org.apache.catalina.core.AprLifecycleListener" SSLEngine="on" />
請(qǐng)?jiān)L問(wèn) OpenSSL 官方網(wǎng)站以詳細(xì)了解 SSL 硬件引擎與制造商的相關(guān)信息。 |
關(guān)于 HTTP 配置的相關(guān)信息,可查閱 HTTP 連接器配置文檔。
關(guān)于 HTTPS 配置的相關(guān)信息,可查閱 HTTPS 連接器配置文檔。
下面這個(gè)范例介紹了 SSL 連接器的聲明:
<Connector port="443" maxHttpHeaderSize="8192"
maxThreads="150"
enableLookups="false" disableUploadTimeout="true"
acceptCount="100" scheme="https" secure="true"
SSLEnabled="true"
SSLCertificateFile="${catalina.base}/conf/localhost.crt"
SSLCertificateKeyFile="${catalina.base}/conf/localhost.key" />
關(guān)于 AJP 配置的相關(guān)信息,可查閱 AJP 連接器配置文檔。
更多建議: