日々常々

ふつうのプログラマがあたりまえにしたいこと。

WildFlyさんが重複したヘッダを返してきよる

JBossAS7.1.1で動いてたwarをWildFly8.2.0にデプロイしたらページ表示するときに怒られた。

f:id:irof:20141211073333p:plain

  • ChromeおよびFirefoxにてhtmlファイルを表示しようとしたとき。
  • ちなみにIESafariはヘッダが重複してようと気にせず表示します。えらいのかおばかなのかはわからない。

なんやろーって、メッセージの通りなんだけど、普通にContent-Lengthが2つ返ってきておった。 原因ぽいのは自分でgzipしてるフィルターで、ここでContent-Lengthが設定されてるもんだから、WildFlyさんが設定するのの両方が返されちゃう。

自分でgzipしてるフィルターってのはこんな感じのやつ→GZIP Filter, response stream and Response Wrapper : GZIP « File Input Output « Java

正道な対応はー……自分でやってないでWildFlyさんのgzipFilter使うとか、gzipなんぞアプリケーションサーバーの外でやっとけか。その辺になるんだろう。たぶん。しらんけど。

アプリケーション改修したくないとか言われると面倒だなー……。なんか設定無いか探す。いまから。

解決したわー(2014/12/19)

書いてすぐに @nekop さんから返答頂いてまして。

GZIPResponseStreamのHeader設定してるところを addHeader から setHeader に変更するだけ。