最近幫客戶配置一個網(wǎng)站的CDN,網(wǎng)站使用java開發(fā)的,已經(jīng)沒有源代碼,有幾個影響緩存的響應(yīng)頭需要修改。
參考了幾篇文章,在Tomcat的一些配置文件嘗試修改,但是響應(yīng)頭依舊存在。
最后反編譯class文件查看,發(fā)現(xiàn)是在代碼response設(shè)置了響應(yīng)頭,那只能通過其他方法來處理了。
解決方法:前端使用Apache作為反向代理,通過修改Apache配置來處理響應(yīng)頭。
Apache轉(zhuǎn)發(fā)主要配置proxypass ProxyPassReverse參數(shù)即可,響應(yīng)頭修改首先確保如下配置沒有被注釋
LoadModule headers_module modules/mod_headers.so
然后在httpd.conf配置文件中,添加如下代碼
<IfModule headers_module>
Header unset XXX
Header unset XXX
</IfModule>
其中XXX是需要取消的響應(yīng)頭。

如果要取消或者添加特定后綴文件的響應(yīng)頭,可以使用下面配置實現(xiàn)。添加響應(yīng)頭是add,取消是unset
<FilesMatch "\.(txt|doc|docx|pdf|xls|xlsx|mp3|mp4|zip|rar|jpg|jpeg|png|gif|js|css)">
Header unset cache-control
Header unset pragma
Header unset expires
</FilesMatch>