在开发过程中发现一个问题,就是项目中的tomcat服务器启动速度很不稳定,时快时慢,尤其是部署在虚拟机里面的时候,慢得令人发指,不过同项目组的其他人对这个问题好像没放在心上,自己抽了点时间专门了解了一下。
背景知识:
1、cipher 是由服务进行端选择的。
2、服务端选择之前会和客户端进行协商,优先选择客户端支持的cipher。
3、如果客户端支持的cipher都不被服务端支持,则通信异常。
4、Tomcat设置cipher的方法为:在server.xml中SSL connector中的ciphers字段中设置相应的套件。
5、Tomcat7.0支持设置cipher的优先顺序,但需要Tomcat 7.0.60以上版本及JAVA 8或更新的JAVA版本。
6、如果Tomcat不设置cipher的优先顺序,服务端将以客户端的cipher列表中的先后顺序选择cipher。
7、Tomcat cipher的顺序:server.xml的ciphers字段中的顺序决定了协商时的优先顺序,所以应该将同意使用的套件按安全性强弱排列。
tomcat可以拒绝指定IP访问web应用,具体配置参照如下:
/tomcat/conf/server.xml
<Host name="localhost" appBase="webapps"
unpackWARs="true" autoDeploy="true">
<!-- SingleSignOn valve, share authentication between web applications
Documentation at: /docs/config/valve.html -->
<!--
<Valve className="org.apache.catalina.authenticator.SingleSignOn" />
-->
<!-- Access log processes all example.
Documentation at: /docs/config/valve.html
Note: The pattern used is equivalent to using pattern="common" -->
<Valve className="org.apache.catalina.valves.AccessLogValve" directory="logs"
prefix="localhost_access_log." suffix=".txt"
pattern="%h %l %u %t "%r" %s %b" />
<Valve className="org.apache.catalina.valves.RemoteAddrValve" deny="192.168.246.49"/>
<Valve className="org.apache.catalina.valves.RemoteAddrValve" deny="192.168.246.50"/>
</Host>
上述配置限制了IP192.168.246.49和192.168.246.50对该web应用的访问。