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