忍者ブログ

WildFlyでレスポンスヘッダーにCache-Controlを追加する方法

2016年10月29日 20時26分13秒
サーブレットでレスポンスのヘッダーに任意の項目を追加したければ、
HttpServletResponseのsetHeaderを使えばいいだけなので簡単。

今回は、htmlやjsファイル等の静的コンテンツのダウンロードの場合のレスポンスヘッダーにCache-Controlを追加する方法を調べてみました。

今回調べる必要があったサーバーは、Apache + WildFly 8

まず、Apacheのhttpd.confでの設定を調べてみたが、全然うまくいかない。
そもそもhttpd.confの設定が全く効いてない感じ。
調べてみたら、AJPでApacheとWildFlyを連携させていたのが原因でした。

なので、WildFly側の設定方法を調査。
で、WildFlyのstandalone.xmlを編集すればレスポンスヘッダーに任意の項目を追加することが出来ることが判明。
具体的には下記のように修正すればOKでした。

【修正前のstandalone.xml】
    <subsystem xmlns="urn:jboss:domain:undertow:1.1">
        <buffer-cache name="default"/>
        <server name="default-server">
            <ajp-listener name="ajpListener" socket-binding="ajp"/>
            <http-listener name="default" socket-binding="http"/>
            <host name="default-host" alias="localhost"/>
        </server>
        <servlet-container name="default" default-encoding="UTF-8">
            <jsp-config/>
        </servlet-container>
    </subsystem>

【修正後のstandalone.xml】
    <subsystem xmlns="urn:jboss:domain:undertow:1.1">
        <buffer-cache name="default"/>
        <server name="default-server">
            <ajp-listener name="ajpListener" socket-binding="ajp"/>
            <http-listener name="default" socket-binding="http"/>
            <host name="default-host" alias="localhost">
                <filter-ref name="cache-control" predicate="path-suffix['.js']"/>
            </host>
        </server>
        <servlet-container name="default" default-encoding="UTF-8">
            <jsp-config/>
        </servlet-container>
        <filters>
            <response-header name="cache-control" header-name="Cache-Control" header-value="no-store"/>
        </filters>
    </subsystem>

これで、jsファイルのレスポンスヘッダーにはCache-Control:no-storeが追加されるようになります。
固定の1ファイルだけを対象にしたい場合は、下記のようにしてあげればOK。
<filter-ref name="cache-control" predicate="path-suffix['test.js']"/>
※そもそもpath-suffixがいらないかも?path-suffixを削除して動かしたことないからどうなるか不明(^^;

あと、複数条件にしたい場合は下記
<filter-ref name="cache-control" predicate="path-suffix['.html'] or path-suffix['.js']"/>
これだとhtmlとjsファイルが対象になります。

PR

君の名は。

2016年09月17日 23時32分54秒
なんか最近やたらテレビで「君の名は。」という言葉を聞く。
最初聞いたときは「君の名は希望」のことと勘違いしてしまった。

どうやら映画らしいが全く知らない。原作も当然知らない。
乃木坂46好きとしては「君の名は」とテレビで聞こえるたびに違和感がある。
ついでに乃木坂46の「君の名は希望」にも注目して頂きたい。
個人的に、乃木坂46で一番の名曲だと思う。
生田絵梨花が一人で歌っているのも好きだ( ̄∇ ̄*)
是非聞いて欲しい。




FURY(フューリー)感想

2016年09月17日 23時19分08秒
Huluにて映画FURYが公開されたので拝見。

戦車や戦闘機はカッコイイなぁと思う程度で、知識があるわけではないですが、
アメリカの戦車4車両とドイツのティーガー1車両との対決はなかなか面白かった。
こち亀でタイガー戦車は何度も出てくるので、名前くらいは知っていましたが、
まさかここまで圧倒的に強い戦車だったとは・・・。

あとは、ラストの、5人(動かない戦車有り)でドイツ軍約300人を相手にするのも凄かった。

戦争物で、激しい撃ち合いが好きな人にお勧め。

ウォーキング・デッド シーズン6

2016年09月11日 16時26分16秒
やっとこさHuluからウォーキング・デッドシーズン6の配信開始の告知が出ました。
10月11日からシーズン6の全話を配信するようです。
で、10月24日からシーズン7のリアルタイム配信を行うようです。

桃色大戦ぱいろん シイナ

2016年08月22日 23時19分14秒
桃色大戦ぱいろん
シイナCG

http://blog.cnobi.jp/v1/blog/user/906b98992e39f6de935f7a2a668b566f/1540217848
http://blog.cnobi.jp/v1/blog/user/906b98992e39f6de935f7a2a668b566f/1540217849