Apache

  (最終更新日:2017.12.14)

application/x-amfの通信をmod_deflateで圧縮する方法 Apache2.2

FlexやFlash(ActionScript⇔ColdFusion)などでデータのやり取りをする際に利用するのがAMF通信(application/x-amf)ですが。このAMF通信をApacheのmod_deflateモジュールを利用して通信圧縮する方法を試したのでその手順をメモとして残しておきたいと思います。

mod_deflateでの通信圧縮はJSONでの応答などPOSTでのサーバからの応答も圧縮してくれるのでチューニングに非常に便利です。

尚、今回の記事はバージョンアップによって一部記載方法が異なるのでApache 2.2、2.3向けとなってます。

httpd.conf への記載

圧縮設定を利用するには httpd.conf での設定が必要ですが、mime.type の指定は mod_filter を利用する必要がありますのでここが要注意かと。

従来の AddOutputFilterByType での指定では正常に「application/x-amf」を認識してくれず圧縮されませんでした。

下記のように圧縮する「Content-Type」として「application/x-amf」を指定すればOKです。

FilterDeclare Compression CONTENT_SET
FilterProvider Compression DEFLATE Content-Type $application/x-amf
FilterChain Compression
DeflateFilterNote Input ins
DeflateFilterNote Output ous
DeflateFilterNote Ratio ratio

また合わせてログフォーマットの記法を修正して、圧縮状況をログに出力するようにもしておきます。

LogFormat "%h %l %u %t \"%r\" %>s %b" common
↓修正
LogFormat "%h %l %u %t \"%r\" %>s %b %{ous}n/%{ins}n (%{ratio}n%%)" common

以上で完了です。
Apacheを再起動すれば反映されるはず。。。

おまけ:Apache 2.4の場合

尚、Apache 2.4以降からは mod_filter の記述方法が微妙に変わったようなので上記での記載では有効になりません。下記のように記述する必要があります。

FilterDeclare Compression CONTENT_SET
FilterProvider Compression DEFLATE "%{CONTENT_TYPE} = `application/x-amf`"
FilterChain Compression
DeflateFilterNote Input ins
DeflateFilterNote Output ous
DeflateFilterNote Ratio ratio


スポンサーリンク
スポンサーリンク

関連記事

  1. Apache

    【解決済】原因は単純ミス‥。Apache+OpenSSLで構築したけどHTTPSに接続できない時

    いや。もうあまりの単純ミスぶりに自分をぶん殴りたいところですが。。。…

  2. Apache

    Apacheでreloadとgracefulを試した動きのメモ

    Apacheにおける reload コマンドと graceful コマ…

  3. Apache

    Apacheの実行ユーザー(起動ユーザー)を変更する方法

    Apacheを起動しているユーザーを変更するには httpd.conf…

  4. Apache

    オレオレ証明書(自己証明書)を大急ぎで作る方法

    取り急ぎ1年間(365日)有効なオレオレ証明書を大急ぎ(最短作業)で作…

  5. Apache

    RewriteCondが効かない?特定のディレクトリを除外する方法でつまずいたお話

    CakePHPをトップディレクトリから利用しています。http:/…

  6. Apache

    【Apache】OpenSSL headers not foundでconfigureが失敗する時

    Apacheをソースからインストールする際に --enable-ssl…

コメント

  1. この記事へのコメントはありません。

  1. この記事へのトラックバックはありません。

最近の記事

  1. ColdFusion 2018にUpdate 8を適用したら…
  2. 【vsftpdを守る】CentOS 7にfail2banをイ…
  3. nologinを指定したユーザーでFTP接続するとパスワード…
  4. CentOS 7にTomcatをインストールして起動したらエ…
  5. NetApp / cDot : AutoSupport Ma…
PAGE TOP