2014/07/09

Redmine2.5.2のプラグインアップデート確認機能が使えない

前回のエントリで、せっかく新機能として追加されたプラグインアップデートの確認機能ですが、VPS 上の Redmine では失敗する。
ブラウザの開発ツールを使えば原因は一目瞭然。
アクセス先の URL がベタ書きなので、Redmine を HTTPS 運用していても http://www.redmine.org/plugins/check_updates にアクセスしてしまい、セキュリティ上ブロックされてしまう。
上の画像からそもそもリクエストを発行すらしていないことがわかる。
じゃあ、https にアクセスすればいいんじゃね?と app/views/admin/plugins.html.erb を修正してみる。
// 修正前
dataType: "jsonp",
url: "http://www.redmine.org/plugins/check_updates",
data: <%= raw_json plugin_data_for_updates(@plugins) %>,
// 修正後
dataType: "jsonp",
url: "//www.redmine.org/plugins/check_updates",
data: <%= raw_json plugin_data_for_updates(@plugins) %>,
そうすると今度は別のエラーが発生する。
リクエストは正常に発行されているが、500エラーが返ってくる。
それも当然で、https://www.redmine.org というのはどうも SVN の WebDAV アクセスで使用されているっぽい。
ちなみに直接アクセスしてみるとこんな画面になる。

これどうすんだろ?Redmine を HTTPS 運用しているのは結構多いと思うんだが、このままではこの機能を利用することはできない。
SVN のリポジトリの URL を今更変えるというのも大変だろうし。
別の URL で API を提供するのがいいんじゃねーかな?http://api.redmine.org と https://api.redmine.org みたいな感じで。

[追記]
ちなみにエラーになるのは Google chrome と Firefox で Opera と Safari は正常に機能しました。
IEでは初回に警告がでるものの「すべてのコンテンツを表示」をクリックすれば実行可能。

0 件のコメント :

コメントを投稿