客户安全意识越来越高,主动要求tomcat7升8,踩坑了

去年国庆70周年,国家安全等级升高,我们这些号称做软件的面临了一次小考。各个行业,针对软件系统安全、网络安全来了一波又一波的扫描。也考验着我们系统设计之初对于安全这个问题的重视程度。这之后,是我们的用户安全意识的整体提高。这不,客户主动要求我们升级Tomcat了。

我们一般做系统,基本上能保证3~7年能用,好用。但是随着时代的发展,技术的进步,客户也在进步,对于历史遗留系统升级,有些是设计考虑不到的。当然我们得评估升级的风险,以给客户合理的建议,如果风险太大,起码得告知客户。

此次我们是可以升级的,但是把程序部署到tomcat8之后,应用起不来了,杯具了。主要遇到如下几个坑,请小心!!

 

客户安全意识越来越高,主动要求tomcat7升8,踩坑了

 

jndi数据源配置有变化

我们的应用配置的数据源在,app/WEB-INFO/context.xml,但是tomcat8以后配置不一样了。

参考:http://tomcat.apache.org/tomcat-8.0-doc/jndi-resources-howto.html

Resource属性和BasicDataSourceFactory变了。主要是factory,属性如果不对,tomcat8会忽略掉。但是factory就不一样了。

tomcat7:

<Resource name="dsxxx" auth="Container" type="javax.sql.DataSource"

driverClassName="oracle.jdbc.driver.OracleDriver"

url="jdbc:oracle:thin:@xxxxxxx:testdb"

username="root" password="11111" maxActive="300" maxIdle="150"

maxWait="-1" factory="org.apache.tomcat.dbcp.dbcp.BasicDataSourceFactory" />

tomcat8或9:

<Resource name="dsxxx" auth="Container" type="javax.sql.DataSource"

driverClassName="oracle.jdbc.driver.OracleDriver"

url="jdbc:oracle:thin:@xxxxxxx:1521:testdb"

username="root" password="22222" maxTotal="300" maxIdle="150"

maxWaitMillis="-1" factory="org.apache.tomcat.dbcp.dbcp2.BasicDataSourceFactory" />

jsp标签异常

客户安全意识越来越高,主动要求tomcat7升8,踩坑了

 

tag文件:

<description>xxx-tag.1.0</description>

<display-name>xxx-tag</display-name>

<tlib-version>1.0</tlib-version>

<short-name>w</short-name>

<uri>/component/tags/xxx-tag.tld</uri>

old:

<uri>http://xxx.org/tags</uri>

new:

<uri>/component/tags/xxx-tag.tld</uri>

页面异常

“Type Exception Report Message Invalid character found in the request target. The valid characters are defined in RFC 7230 and RFC 3986”

解决方案:在conf/catalina.properties中最后添加2行:

tomcat.util.http.parser.HttpParser.requestTargetAllow=|{}

org.apache.tomcat.util.buf.UDecoder.ALLOW_ENCODED_SLASH=true

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值