質問をすることでしか得られない、回答やアドバイスがある。

15分調べてもわからないことは、質問しよう!

新規登録して質問してみよう
ただいま回答率
85.48%
Apache

Apacheは、Apache HTTP Serverの略で、最も人気の高いWebサーバソフトウェアの一つです。安定性が高いオープンソースソフトウェアとして商用サイトから自宅サーバまで、多くのプラットフォーム向けに開発・配布されています。サーバーソフトウェアの不具合(NCSA httpd)を修正するパッチ(a patch)を集積、一つ独立したソフトウェアとして開発されました。

Redmine

Redmineは、プロジェクトのタスク管理、進捗管理、情報共有が可能な、 オープンソースプロジェクト管理ソフトウェアです。

Q&A

2回答

12229閲覧

RedmineがリダイレクトするURLをhttpからhttpsにする方法について

mennti

総合スコア8

Apache

Apacheは、Apache HTTP Serverの略で、最も人気の高いWebサーバソフトウェアの一つです。安定性が高いオープンソースソフトウェアとして商用サイトから自宅サーバまで、多くのプラットフォーム向けに開発・配布されています。サーバーソフトウェアの不具合(NCSA httpd)を修正するパッチ(a patch)を集積、一つ独立したソフトウェアとして開発されました。

Redmine

Redmineは、プロジェクトのタスク管理、進捗管理、情報共有が可能な、 オープンソースプロジェクト管理ソフトウェアです。

0グッド

1クリップ

投稿2017/06/10 06:39

編集2017/06/10 06:46

長文になり大変申し訳ないですが、もしタイトルに記載した件についてご存知の方や同じ事象に遭遇した方がいましたら、ご回答の程よろしくお願い致します。

###経緯と発生した事象

今回データセンター内のサーバにRedmineのインストールを行いました。
特段問題なくインストールは完了し、Redmineのホーム画面への接続と表示確認もできましたが、管理者アカウント「admin」の初期パスワード変更のためログインをしようとした際(adminのパスワードを入力し、ログインボタンを押下)、応答が返ってこなくなりました。
最終的には、タイムアウトとなります。

###Redmineサーバについて
以下URLの構築手順を元に作成しました。
ただし、OSはRHEL6.6。DBは、MySQLなどの違いはあります。

http://blog.redmine.jp/articles/3_3/install/centos/

###Redmineサーバへの接続について

PCからRedmineサーバには、LBを経由して接続します。その際の通信は以下となります。

[PC] ─ HTTPS → [LB] ─ HTTP → [Redmineサーバ]

※LB以降からデータセンターとなります。また、LBはHTTPSリクエストのみ受け付けるようになっています。

###確認してわかっていること
以下箇条書きで記載いたします。
①タイムアウトした際のWebブラウザーのURLに「http://[RedmineへのIPorホスト名]/redmine/my/page」と表示されていた。

②上記事象発生時にリアルタイムでRedmineのログを確認してみたところ、リダイレクトとして①のURLが出力された後、HTTPステータスコード「302」の出力を最後にそのあとは何もログに出力されず。
また、apacheを使用してRedmineサーバへのリクエストを受け付けるようにしているのですが、apache側のaccess_logにも「302」を出力。

###発生事象の原因(推測)

Redmineからリダイレクトとして返ってくるURLがhttpのため、LB側の設定(もしくは、データセンター側での何かしらの設定)ではじかれる→無応答となってしまっているのではと推測。

###試したこと

URLのヘッダーをhttpからhttpsにするため、Apache側のhttpd.confに対してネットから検索してきた以下設定を追加するなどしましたが、事象は解消されませんでした。
(設定の追加は、単純に対象定義ファイルの最後に以下設定をそのまま追記する形で行いました。)


RequestHeader set X_FORWARDED_PROTO 'https'


RequestHeader set X_FORWARDED_PROTO 'https'
ProxyPass /redmine http://[RedmineへのIPorホスト名]/redmine
ProxyPassReverse /redmine http://[RedmineへのIPorホスト名]/redmine


<Directory />
<IfModule mod_rewrite.c>
RewriteEngine On
RewriteCond %{HTTPS} off
RewriteCond %{REQUEST_URI} (^./redmine/.$)
RewriteRule /.*$ https://%{HTTP_HOST}%{REQUEST_URI} [R,L]
</IfModule>
</Directory>


<Directory />
<IfModule mod_rewrite.c>
RewriteEngine On
RewriteCond %{HTTPS} on
RewriteCond %{REQUEST_URI} !(^./redmine/login.$)
RewriteCond %{REQUEST_URI} !(^./redmine/stylesheets.$)
RewriteCond %{REQUEST_URI} !(^./redmine/javascripts.$)
RewriteRule /.$ http://%{HTTP_HOST}%{REQUEST_URI} [R,L]
RewriteCond %{HTTPS} off
RewriteCond %{REQUEST_URI} (^.
/redmine/login.$)
RewriteRule /.
$ https://%{HTTP_HOST}%{REQUEST_URI} [R,L]
</IfModule>
</Directory>

###質問させて頂きたいこと
タイトルにも記載させていただきましたが、RedmineがリダイレクトするURLをhttpからhttpsにする方法を教えていただきたいと考えています。
もし、「試したこと」に記載されている内容で設定方法が違う。そもそも推測が違うのではなどの指摘もありましたら、そちらも併せて教えていただきたいと考えています。

また、LBの設定については変更できないため、Redmineサーバ側で対応できる方法でお願いしたいと考えています。

以上となります。
ご確認の程何卒よろしくお願い致します。

気になる質問をクリップする

クリップした質問は、後からいつでもMYページで確認できます。

またクリップした質問に回答があった際、通知やメールを受け取ることができます。

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

guest

回答2

0

試したことの③を、Apache側のhttpd.confに設定するのではなく、

/var/lib/redmine/public/.htaccess ファイルに設定したら有効になりませんか。

投稿2019/05/28 08:48

takashikawai

総合スコア172

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

0

Redmine の設定は、どうなっているのしょうか?

Redmine にログインできるのであれば、「管理」→「設定」の中に「プロトコル」という項目がありますが、これは、「https」になっているでしょうか?

ログインができない場合は、設定された値は、redmine のデータベースに保存されていますので、redmine のデータベースの 「setting」テーブルを参照すると

name value ---------------------------- protocol https

の様に登録されいていると思いますので、こちらを直接変更することになると思います。

投稿2017/06/10 07:36

CHERRY

総合スコア25171

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

mennti

2017/06/11 21:47

ご回答ありがとうございます。 少し時間が空いてしまいましたが、先ほど対象テーブルについて確認いたしました。 初期構築状態のためかsettingテーブルの中身は空(データ件数0)でした。 これは、何かやらなければいけない作業が抜けていたからでしょうか。 (一応、参考にした手順にある初期データの登録はしています。) Redmineの設定についてですが、インストール後、特に設定についてはやっていないため、初期状態となります。
CHERRY

2017/06/12 03:29 編集

ソースコードを見ていないので推測ですが、おそらく settings には、管理画面から設定を変更して保存した場合に変更した内容が保存されるのではないかと思います。 データベースにある settings テーブルに保存される項目の初期値は、redmine の home ディレクトリ/conf/settings.yml に記載されています。 settings.yml に プロトコルを設定している部分が、下記の様にありますので、一時的に変更して redmine を再起動してから URLにアクセスすると https でリダイレクトして、ログインできたりしないでしょうか? ( 下記の http の部分を https に変更。うちの環境では、85行目ぐらいにありました。) ``` protocol: default: http ``` 接続できたら、管理画面から設定を開いて、一度「保存」ボタンを押してみてください。
mennti

2017/06/12 15:30

お疲れ様です。 ご回答頂いた、settings.ymlのプロトコルを編集する方法について確認いたしました。 編集後にRedmineの再起動→ログインを試みたのですが、事象の解消にはいたらず、リダイレクトはhttpのままでした。 今他の方法(apache側)でもいろいろと試していますが、現状変わらずという状態です。
guest

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

まだベストアンサーが選ばれていません

会員登録して回答してみよう

アカウントをお持ちの方は

15分調べてもわからないことは
teratailで質問しよう!

ただいまの回答率
85.48%

質問をまとめることで
思考を整理して素早く解決

テンプレート機能で
簡単に質問をまとめる

質問する

関連した質問