tomcat 8升级到最新版时,静态文件报错 400


因为安全问题,把tomcat升级到8.5系列的最新版,发现静态资源文件出现400错误。

问题重现:

curl -voa "https://xxxxx/images/notice.png" --resolve xxxxxx:443:xxxxxx -H 'If-None-Match: "1636859870000"'

  问题原因:64816 – Headers 'If-Modified-Since' header causes 400 in 8.5.58 (apache.org)

解决办法,用nginx来处理静态文件,动静分离,不使用tomcat处理静态资源。

        location ~ .*\.(gif|jpg|jpeg|bmp|png|ico|js|css)$ {
                root /usr/local/nginx/html;
        }