3 嵌套组件
这个时候没有。
4 特殊功能
4.1 HTTP/1.1和HTTP/1.0的支持
该连接器支持在RFC 2616中描述的HTTP/1.1协议的所有必需功能,包括持久连接,管道,预期和分块编码所需的功能。如果客户端(通常是浏览器)只支持HTTP/1.0, 连接器将优雅地向下兼容以支持该协议。启用这种支持,没有特殊的配置要求。该连接器还支持HTTP/1.0长连接。
RFC 2616规定,HTTP服务器总是在它们响应的开头加上它们宣称支持的最高的HTTP版本。因此,此 连接器将总是在其响应开头返回HTTP/1.1
。
4.2 代理支持
当Tomcat部署在代理服务器的后面的时候,proxyName和proxyPort属性可以被使用。这些属性修改 web服务器调用的request.getServerName()和request.getServerPort() 方法的值,这是经常被用来构造重 定向de 绝对路径的URL。如果不配置这些属性,返回的值将反映代理服务器接收连接的服务器名称和端口,而不是客户端定向原始请求的服务器名称和端口。
有关详细信息,请参阅 如何使用代理服务器支持。
4.3 SSL支持
通过设置启用SSL属性为true,您可以启用SSL支持此连接器的特定实例 。
你还需要设置scheme 和secure 属性的值分别为https和true,传递正确的信息到servlet。
BIO与NIO连接器使用JSSE的SSL,而APR / native连接器使用OpenSSL。因此,除了使用不同的属性来配置SSL的APR / native连接器外,还需要以不同的格式提供密钥和证书。
有关详细信息,请参阅文档SSL怎么配置。
4.3.1 SSL支持-BIO与NIO
BIO与NIO连接器使用下面的属性来配置SSL:
属性 |
描述 |
algorithm |
使用的证书编码算法。默认 |
|
允许不安全的传统的TLS重新协商,它有可能允许暴露用户给CVE-2009-3555(处理会话重协商过程中TLS实现存在错误,允许通过中间人攻击,注入任意明文到已存在的TLS会话中。)的情况发生。如果没有指定,默认设置为 |
ciphers |
逗号分隔的这个套接字被允许使用的加密算法列表。默认情况下,在JVM的默认密码将被使用。请注意,这通常意味着,弱输出等级的密码将被包含在列表的可用密码中。密码被指定使用JSSE密码的命名约定。特殊值 |
|
如果在接受连接之前,你想让从客户端来的SSL协议栈需要一个有效的证书链则设置为 |
|
当客户端证书信息的以表单形式而不是 |
|
用来验证客户端证书的证书吊销列表。如果没有定义,将不核对证书吊销列表来检查客户端证书。 |
|
用于做key库中的服务器证书的别名。如果没有指定将使用在key库中读取的第一个key。 |
|
该密码用于访问指定的keystore文件的服务器证书。默认值是“ |
|
要加载的服务器证书存放的keystore文件的路径名。默认情况下,该文件的路径名是“ |
|
该密码用于访问指定的keystore文件。默认值是 |
|
被用于服务器证书的keystore 提供者的名称。如果未指定,将选择按优先顺序注册过的提供者列表的第一个支持 |
|
用于服务器证书的keystore文件的类型。如果没有指定,默认值是“ |
|
保持在session缓存中的SSL会话的数量。使用0到指定一个无大小限制的缓存。如果没有指定,默认值为0。 |
|
在创建一个SSL会话后它将超时的时间(以秒为单位)。使用0指定无限制超时。如果没有指定,默认为86400(24小时)。 |
|
使用的SSL协议的列表。如果未指定,则使用JVM的默认设置。 |
|
使用的SSL实现的类名。如果未指定, 将使用默认的 |
|
使用的SSL协议版本。如果没有指定,默认是“ |
|
一个用来验证客户端证书的自定义信任管理类的名称。这个类必须有一个无参数的构造而且必须实现 |
|
验证客户端证书时,允许的中间证书的最大数量。如果没有指定,默认值5将被使用。 |
|
该算法用于truststore。如果没有指定,将使用由 |
|
用来验证客户端证书的trust store文件。默认值是 |
|
访问trust store的密码。默认值是 |
|
用于服务器证书的truststore提供者的名称。默认值是 |
|
用于trust store的key store的类型。默认值是 |
4.3.2 SSL支持 - APR /Native
APR / Native启用时,HTTPS连接器将使用一个套接字来轮询长连接,以提高服务器的可扩展性。它还使用OpenSSL,这可能比JSSE更优化(取决于 所使用的处理器),并且可以补充许多商业加速器组件。不同于HTTP连接器,HTTPS连接器不能使用的sendfile优化静态文件的处理。
HTTPS APR / Native连接器具有HTTP APR / Native连接器相同的属性,并且增加了OpenSSL的特殊属性。使用OpenSSL的所有详细资料,请参阅OpenSSL资料和许多可用的书籍(请参阅官方OpenSSL的网站)。SSL特有的APR /Native连接器的属性:
属性 |
描述 |
|
查看mod_ssl的文档。 |
|
查看mod_ssl的文档。 |
|
查看mod_ssl的文档。 |
|
查看mod_ssl的文档。 |
|
查看mod_ssl的文档。 |
|
包含受信任的证书颁发机构的拼接的证书文件的名称。是PEM编码的格式。 |
|
包含的受信任的证书颁发机构的证书目录名称。是PEM编码的格式。 |
|
包含证书颁发机构的拼接的证书吊销列表文件的名称。是PEM编码的格式。 |
|
包含的证书颁发机构的拼接的证书撤销列表的目录的名称。是PEM编码的格式。 |
|
包含连接的certifcates形成的资格证书链的服务器证书的证书颁发机构的的文件的名称。是PEM编码的格式。 |
|
包含服务器证书的文件的名称。是PEM编码的格式。 |
|
包含服务器私钥的文件名称。是PEM编码的格式。默认值是SSLCertificateFile的值,在这种情况下,证书和私钥都必须在这个文件中(不推荐)。 |
|
可用于与客户端进行通信的密码。默认值是“ALL”,其他可接受的值是以“:”分隔的一组密码,(请参阅OpenSSL的文档列表中支持的密码)。 |
|
设置为true(这是默认值)将强制服务器的密码规则(按照 |
|
用于私有密钥加密的口令短语。如果没有提供“SSLPassword”时,回调函数将提示输入口令短语。 |
|
可被用来与客户端通信的协议。默认值是all,这是等同 |
|
向客户端要求证书。默认值是“none”,这意味着客户端将不会有机会提交证书。其他可接受的值包括“optional”,“require”和“optionalNoCA”。 |
|
客户端证书的最大验证深度。默认值是“10”。 |
4.4连接器的比较
下面是一个小的图表,显示了连接器如何区分。
Java Blocking Connector BIO |
Java Non Blocking Connector NIO |
APR/native Connector APR |
|
Classname |
Http11Protocol |
Http11NioProtocol |
Http11AprProtocol |
Tomcat Version |
3.x onwards |
6.x onwards |
5.5.x onwards |
Support Pollin |
NO |
YES |
YES |
Polling Size |
N/A |
maxConnections |
maxConnections |
Read HTTP Request |
Blocking |
Non Blocking |
Blocking |
Read HTTP Body |
Blocking |
Sim Blocking |
Blocking |
Write HTTP Response |
Blocking |
Sim Blocking |
Blocking |
Wait for next Request |
Blocking |
Non Blocking |
Non Blocking |
SSL Support |
Java SSL |
Java SSL |
OpenSSL |
SSL Handshake |
Blocking |
Non blocking |
Blocking |
Max Connections |
maxConnections |
maxConnections |
相关推荐
3. **NIO连接器**:除了传统的BIO连接器,Tomcat 7引入了基于非阻塞I/O的NIO连接器,允许处理更多并发连接,提升系统吞吐量。 4. **改进的管理工具**:Tomcat 7提供了一个增强的管理界面,用户可以通过Web管理...
这些定制可能涉及内存管理、线程池、连接器优化、日志系统、安全管理等方面。 在【压缩包子文件的文件名称列表】中,"taobao-tomcat-7.0.59"可能包含了以下组件和目录: 1. `bin`:包含启动和停止Tomcat的脚本,如`...
7. **连接器和协议**: - Tomcat 8.0支持HTTP/1.1和部分HTTP/2,`Connector`元素可配置NIO、NIO2和APR(Apache Portable Runtime)等不同的连接器模型。 8. **模块化架构**: - Tomcat 8引入了Catalina、Jasper、...
10. **连接器与协议**:Tomcat使用Coyote连接器处理HTTP、HTTPS等协议,可以通过修改`server.xml`中的Connector元素进行配置,比如调整最大连接数、超时时间等。 总之,"apache-tomcat-9.0.54-windows-x64.zip"是一...
NIO(非阻塞I/O)和APR(Apache Portable Runtime)连接器提供更好的并发性能,使得Tomcat能更好地处理高并发请求。此外,改进的错误报告机制也有助于开发者快速定位问题。 在安全方面,Tomcat 8.0.15包含了一系列...
9. **性能优化**:Tomcat可以通过调整JVM参数、线程池大小、连接器配置等方式进行性能优化。例如,增加`maxThreads`和`minSpareThreads`可以提高并发处理能力。 10. **故障排查**:当遇到问题时,检查Tomcat的日志...
- **连接器**:Tomcat包含多种连接器,用于监听和响应HTTP请求,例如, Coyote连接器是默认的HTTP/1.1连接器。 - **多线程模型**:Tomcat使用基于线程的模型来处理并发请求,提高服务器的效率和响应速度。 - **安全...
2. **NIO和 APR 改进**:在连接器层,Tomcat 7改进了非阻塞I/O(NIO)支持,并且增强了Apache Portable Runtime (APR)库的集成,以提高性能和稳定性。 3. **更好的管理工具**:提供了更强大的管理和监控工具,如`...
2. **修改server.xml**:这是Tomcat的主要配置文件,其中可以定义端口号、连接器、Context等。 3. **设置JAVA_OPTS**:可以在此添加JVM参数,如内存大小(-Xms和-Xmx)和垃圾回收策略。 4. **创建数据源**:如果应用...
在`conf/server.xml`文件中,你可以配置Tomcat的各种设置,如端口号、连接器、虚拟主机等。例如,修改`<Connector>`元素来改变HTTP/HTTPS端口。同时,可以通过`webapps`目录下创建应用的WAR文件或目录来部署Web应用...
#### 四、特殊功能 ##### 1. HTTP/1.1 和 HTTP/1.0 支持 连接器支持 HTTP/1.1 所需的所有功能,包括持久连接、流水线、期望和分块编码。对于仅支持 HTTP/1.0 的客户端,连接器会自动回退到支持 HTTP/1.0。没有特殊...
3. NIO(非阻塞I/O)和APR(Apache Portable Runtime)连接器:这两种连接器提供了更高的并发性能,尤其适合高流量网站。 4. 管理工具增强:提供了一个直观的管理界面,可以方便地进行应用部署、监控和管理。 5. ...
在标题"tomcat-connectors-1.2.37-src.tar.gz"中,我们关注的是Tomcat的连接器组件的源代码版本1.2.37。这个压缩包包含的是未经编译的源码,对于想要理解Tomcat工作原理、进行定制开发或者排查问题的开发者来说,是...
3. **连接器(Connector)**:Tomcat通过不同的连接器与外部世界交互,例如HTTP/1.1连接器,允许它处理HTTP请求并返回响应。 4. **JNDI(Java Naming and Directory Interface)**:提供服务发现和资源管理,允许...
3. **连接器优化**:Tomcat 7对HTTP连接器进行了优化,提升了性能和稳定性,尤其是在高并发场景下。 4. **安全管理**:7.0.59版本对安全性进行了加强,修复了一些已知的安全漏洞,确保了应用的安全运行环境。 5. *...
2. 高并发调优:Tomcat的性能优化通常涉及到线程池配置、连接器设置和JVM参数调整。高并发调优可能包括增大最大连接数,调整线程池的最小和最大线程数量,以及优化内存分配以减少垃圾收集的频率。此外,也可能采用了...
在配置Tomcat时,主要涉及修改`conf/server.xml`文件,这是Tomcat的主要配置文件,可以在这里设置端口号、虚拟主机、连接器以及其他服务器行为。例如,更改默认的HTTP监听端口(8080)以避免与其他服务冲突。同时,`...
3. **连接器**:如 coyote.jar,实现了不同的协议(如HTTP/1.1)以供Tomcat接收和响应网络请求。 4. **JNDI**:如 Catalina-jndi.jar,提供Java Naming and Directory Interface(JNDI)服务,允许应用查找和绑定...
标题 "Tomcat7集群实现共享session,已配置好" 暗示了这是一个关于在Tomcat7服务器集群环境中实现session共享的配置实例。在多台Tomcat服务器组成的集群中,session共享是解决用户会话在不同服务器之间无缝切换的...
Apache Tomcat是一款开源的Java Servlet容器,主要用于运行Java Web应用程序,包括JSP和Servlet。它是由Apache软件基金会的...不过,为了获得最新功能和安全改进,建议升级到更现代的Tomcat版本,除非有特殊需求。