前提
Webサーバ:Apache → Tomcat(ajp)
アプリケーション:Javaで作成
上記構成でWebアプリケーションが稼働中です。
セキュリティ強化のために、クライアント端末に表示した内容をキャッシュさせないようにすることになりました。
実現したいこと
- クライアント端末にキャッシュさせないためのレスポンスヘッダを追加したい(下記参照)
- Apacheの設定変更で対応したい(できれば)
追加したいレスポンスヘッダ
Cache-Control: no-cache, no-store, must-revalidate, post-check=0, pre-check=0 Pragma: no-cache
発生している問題
Apacheの設定ファイルhttpd.confにヘッダー設定を記述、Apacheを再起動してもレスポンスヘッダに設定されていない。
レスポンスヘッダの内容(Chromeで確認)
content-length: 1007 content-type: text/html;charset=windows-31j date: Mon, 08 Aug 2022 06:37:51 GMT server: Apache x-content-type-options: nosniff x-frame-options: SAMEORIGIN x-ua-compatible: IE=8
該当のソースコード
httpd.confの構成抜粋です。
VirtualHost 内でTomcatアプリケーションにプロキシ、ファイルの末尾にレスポンスヘッダ設定を
httpd.conf
1~~~ 2<VirtualHost *:8001> 3 #Webアプリケーションのバーチャルホスト設定 4 ServerAdmin www@XXX.co.jp 5 DocumentRoot /apps/htdocs 6 ServerName XXX.co.jp 7 8 ProxyPass /xxx "ajp://localhost:8009/xxx" keepalive=on 9 ~~~ 10</VirtualHost> 11 12# レスポンスヘッダ設定を追加 13Header always set Pragma "no-cache" 14Header always set Cache-Control "no-cache, no-store, must-revalidate, post-check=0, pre-check=0" 15
試したこと
・VirtualHost タグ内、ProxyPass の前後にもHeader always set~を追記してみましたが、レスポンスヘッダは変わりませんでした。
・一緒にhttpdログのパスを変更→変更後のパスでログが出ることを確認済みです(変更は反映されています)
httpd.confの設定方法が誤っているのでしょうか?
正しい方法を教えて下さい。
よろしくお願いいたします。