ApacheのVirtual Host環境でFlash RemotingやCFFileServletが404になる場合の参考情報

ColdFusion 11 や 10 で、Apache の VirtualHost を利用している環境で Flash Remoting や CFFileServlet(CFChartなどでサーバー側で生成された画像の呼び出しで使用) の処理が 404エラーになってしまう現象が生じた際の参考情報をご紹介します。

ColdFusion と Apache 間でコネクタを登録すると、Apacheの設定ファイル(httpd.conf)の末尾に mod_jk.conf のインクルードが追加されます。mod_jk.confファイルではコネクタのロードや.cfmや.cfcの登録、エイリアスの設定などに加え、下記の設定が行われています。

JkMountFile "/opt/coldfusion11/config/wsconfig/1/uriworkermap.properties"
(※上記は ColdFusion 11 を /opt/coldfusion11 にインストールした場合の例)

上記は、JkMount ディレクティブといい、Apache が mod_jk モジュールにどの URL を転送すべきか指定するもので、上記に指定されている uriworkermap.properties ファイルの中で Flash RemotingやCFFileServlet の指定が行われています。この JkMount ディレクティブの設定が、VirtualHost を指定しているサイトでは有効に機能せず、結果的にそれらを呼び出すと 404エラーとなってしまう現象が確認されました。

一般ユーザーサイトに、この問題に対する解決方法が紹介されていました。

http://d.hatena.ne.jp/kusakari/20080325/1206417188

サイトの情報を参考に、下記1. 2.の方法を試した結果、どちらも404エラーが解消され、正常に動作することを確認しましたので、参考情報としてご紹介いたします。

(※下記の作業を行う前に、念のため該当ファイルのバックアップをされる事をお勧め致します。)

 

  1. 該当する VirtualHost ディレクティブ(設定)内に直に「JkMountFile "/opt/coldfusion11/config/wsconfig/1/uriworkermap.properties" 」を記述する(※インストール先に合わせてパスを適宜変更して下さい)
    • 例:
      <VirtualHost *:80>
              ServerName XXXXX
              DocumentRoot XXXXX
              ....
             JkMountFile "/opt/coldfusion11/config/wsconfig/1/uriworkermap.properties"
      </VirtualHost>
  2. Apacheのオプション「JkMountCopy」を該当する VirtualHost ディレクティブ内、または全体設定のどちらかに追加する
    • 例:
      <VirtualHost *:80>
              ServerName XXXXX
              DocumentRoot XXXXX
              ....
             JkMountCopy On
      </VirtualHost>

      または mod_jk.conf ファイルの先頭に追加

      JkMountCopy All
      # Load mod_jk module
      LoadModule    jk_module  "/opt/cf11j/config/wsconfig/1/mod_jk.so"
      # Where to find workers.properties
      ....
       

上記のいずれかの設定を行った後、Apache の再起動を行って下さい。

※ VirtualHostに設定を行った場合は VirtualHostのサイト内の動作を、グローバルの設定(JkMountCopy All)を指定した場合は他のサイト(VirtualHost)の動作に影響が生じないかを十分にご確認下さい。


 


記事公開日:2015年07月27日
最終更新日:2015年07月27日


x

Sample Modal Window

This is just a sample…

Lorem ipsum dolor sit amet, consectetur adipiscing elit. Praesent suscipit iaculis libero sed tristique. Quisque mollis dolor non tellus placerat vitae sodales lectus porta. Curabitur ut suscipit tellus. Maecenas rhoncus, ante vitae vehicula vestibulum, metus sapien dapibus tellus, et mattis dolor neque vitae nisl. Nullam eleifend ultrices ipsum eget pretium. Curabitur semper metus ut ante adipiscing nec volutpat sem rutrum. Nullam a nisi lacus, non interdum ante. Vivamus ante augue, commodo vel egestas sed, pharetra nec dui. Quisque sed tellus felis. Donec ipsum mauris, sagittis eu accumsan in, aliquam non ipsum.

Vestibulum tempor nunc nec felis scelerisque eget elementum erat dignissim. Ut vel ipsum mollis orci venenatis luctus. Aenean vehicula quam vel quam porttitor ac iaculis elit pulvinar. Proin consequat, ipsum eu venenatis semper, justo turpis posuere tortor, ac placerat metus nisl et lectus. Nulla cursus dui id nunc ullamcorper sed semper nisl lobortis. Aliquam erat volutpat. Phasellus arcu ante, imperdiet in ornare sed, laoreet eu massa.