当启用
APR
时,
HTTPS connector
将使用
socket poller
实现
keepalive
,增加服务器的扩展性。它还使用
OpenSSL
,这比使用依赖处理器的
JSSE
更能优化服务器的性能,并且能够与许多商业加速组件配合使用。与
HTTP connector
不同的是,
HTTPS connector
不能使用
sendfile
优化静态文件处理的性能。
除了提供与
HTTP APR connector
相同的属性以外,
HTTPS APR connector
还提供了
OpenSSL
相关的属性。关于如何使用
OpenSSL
的详细说明,请参考
OpenSSL
文档和相关书籍(参看
OpenSSL官方网站
)。
Connctor
中
SSL
相关的属性如下:
Attribute
|
Description
|
SSLEngine
|
设置是否使用
SSLEngine
。
off
:不使用
SSL
,
on
:使用
SSL
但是不设置
ENGINE
。缺省值为
off
。
|
SSLProtocol
|
设置与客户端通讯的协议。缺省值为“
all
”,其它可以接受的值为
"SSLv2", "SSLv3", "TLSv1",
以及
"SSLv2+SSLv3"
。
|
SSLCipherSuite
|
设置与客户端通讯时使用的加密算法。缺省值为“
ALL
”
,
其它可以接受的值为“
:
”分开的加密算法列表(关于支持的加密算法列表请查看
OpenSSL
文档)。
|
SSLCertificateFile
|
设置包含服务器证书的文件名。证书格式为
PEM
。
|
SSLCertificateKeyFile
|
设置包含服务器私钥的文件名。私钥格式为
PEM
。缺省值为
"SSLCertificateFile"
(不推荐使用),该文件中必须同时包括证书和私钥。
|
SSLPassword
|
加密私钥的
pass phrase
。如果没有设置
"SSLPassword"
,回调函数将提示输入
pass phrase
。
|
SSLVerifyClient
|
表示是否向客户端请求证书。缺省值为
"none"
,表示不需要客户端发送证书。其它可接受的值包括
"optional", "require"
和
"optionalNoCA"
。
|
SSLVerifyDepth
|
客户端证书的最大验证深度。缺省值为
10
。
|
SSLCACertificateFile
| |
SSLCACertificatePath
| |
SSLCertificateChainFile
| |
SSLCARevocationFile
| |
SSLCARevocationPath
|
SSL Connector
示例配置如下
:
<Connector port="443" maxHttpHeaderSize="8192"
maxThreads="50" enableLookups="false" disableUploadTimeout="true"
acceptCount="100" scheme="https" secure="true"
SSLEngine="on"
SSLCertificateFile="${catalina.base}/conf/localhost.crt"
SSLCertificateKeyFile="${catalina.base}/conf/localhost.key" />