Redmine を Mongrelで起動して https で mod_proxy する

Redmine を Mongrelで起動して mod_proxy する - すえひろがりっっっっ! の続き

Passenger がいいって聞くけどなぜか mongrel を使い続けている。

  • Redmine を 3000番ポートで起動
  • Apache で 3000番ポートへリバースプロキシ
  • http でのアクセスは強制的に https へリダイレクト

という手順で設定する。

Redmine を 3000番ポートで起動


mongrel_rails start -e production -d -p 3000 --prefix=/redmine -c /dir/to/redmine

のような感じで 3000 番ポートで redmine を起動する。
自動起動CentOS で Redmine を自動起動 - すえひろがりっっっっ! で。

Apache で 3000番ポートへリバースプロキシ

Apache の設定で


ProxyPass /redmine http://localhost:3000/redmine
ProxyPassReverse /redmine http://localhost:3000/redmine
RequestHeader set X_FORWARDED_PROTO 'https'
3行目がポイント。Redmine はいろんなところでリダイレクトするので、これをやらないと http にリダイレクトされてしまう。

http でのアクセスは強制的に https へリダイレクト


RewriteEngine On
RewriteCond "%{SERVER_PORT}" "^80$"
RewriteRule "^(.*)$" "https://%{SERVER_NAME}$1" [R,L]
80番ポートへのアクセスを強制的に https へリダイレクト。
これをそのまま書いてしまうと、Redmine 以外へのアクセスも https に飛ばされてしまう:)


以上で大体できるけど、かなりグローバルな設定なので真面目に設定する場合はちゃんと切り分けましょう:)




入門Redmine Linux/Windows対応
前田 剛
秀和システム
売り上げランキング: 112182