Tomcat7升级Tomcat8可能遇到的问题

夙愿已清 提交于 2020-12-21 07:54:31

1、Cookie domain的前缀问题

    domain的设置可以是“xxx.yyy.com”或“.xxx.yyy.com”。两者的区别在是否有前缀“.”。
    区别:不带“.”的cookie只能应用在一级域名,不能应用到二级域名“zzz.xxx.yyy.com”;而带“.”的cookie既可以应用在一级域名,也可以应用在子域名“zzz.xxx.yyy.com”中
    Tomcat7升级到Tomcat8后,CookieProcessor由默认org.apache.tomcat.util.http.LegacyCookieProcessor的实现在Tomcat8及其以后的版本中改为了org.apache.tomcat.util.http.Rfc6265CookieProcessor的实现,升级后的实现对Cookie的domain前缀进行了校验,不允许使用“.”或“-”作为前缀,否则会导致抛出异常“An invalid domain [{0}] was specified for this cookie”
    解决方式:
    在Tomcat的conf/context.xml中新增:
            <CookieProcessor className="org.apache.tomcat.util.http.LegacyCookieProcessor" />

参考:

    https://stackoverflow.com/questions/9618217/what-does-the-dot-prefix-in-the-cookie-domain-mean

    https://tomcat.apache.org/tomcat-8.0-doc/config/cookie-processor.html

    https://bz.apache.org/bugzilla/show_bug.cgi?id=59703

2、Tomcat8升级的权限问题

    #   UMASK  (Optional) Override Tomcat's default UMASK of 0027

    Tomcat8默认权限是0027,导致在nginx转发时没有对应静态文件的读权限,需要进行如下修改:
           修改 catalina.sh 中的UMASK的默认值为“0022”,或作为变量设置

 

标签
易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!