Redmineで静的コンテンツを別サーバから配信する

2010-05-17 23:30  •  分類:

Redmineを実行するサーバとは別のサーバからpublicディレクトリ以下の画像・CSS・JavaScript等のファイルを配信したい場合、例えばRedmine自体は海外のサーバで実行し、レスポンスタイムを短縮するために静的ファイルだけは日本国内のサーバから配信したいときなどは、Redmineのconfig/environment.rbに数行の設定を追加すれば簡単に実現できます。

設定方法

例えばRedmineのpublicディレクトリ以下にある静的ファイルを www.example.jp/redmine-assets/ から配信するようにしたい場合は、Redmineのインストールディレクトリのcofnig/environment.rbに以下のような設定を追加します。

ActionController::Base.asset_host = Proc.new { |source|
  unless source =~ /.htc\?\d+$/
    "www.example.jp/redmine-assets" 
  end
}

上記の例では、拡張子".htc"のファイルだけはRedmineを実行しているサーバから配信するようにしています。このファイルは、Internet Explorerでアクセスしたときだけ読み込まれるHTML Componentsと呼ばれる形式のファイルです。Redmineと別ドメインにあるHTML Componentsにアクセスしようとすると下の画像のようなエラー(“Access is denied”)が発生するため、このファイル以外を別サーバから配信するようにしています。

参考

作成: 2010-05-17 23:30  •  分類:

複数拠点にまたがるプロジェクトのタスク管理・情報共有ができる
クラウドサービス「My Redmine」「My Subversion

My Redmine - いつでも、どこでもプロジェクト管理
SSL・ウイルス対策・バックアップ込み。何人で使っても月額税別8,000円から。
ぜひ1ヶ月無料でお試しください。

My Subversion - いつでも、どこでもソースコード共有
ソースコードをメールで送るのはやめて作業効率アップ。月額税別2,500円から。
ぜひ1ヶ月無料でお試しください。