QA@IT

DotCloud + Play Framework1.2.3-1.2.5 アクションチェーンでhttpsからhttpに移動してしまう。

1385 PV

DotCloudにPlay Framework1.2.5-1.2.3で作成したアプリをプッシュして使っていました。
https~でアクセスしてアプリを使用していると、アクションチェーンを実施した所でhttp~にURLが変わってしまいます。

DotCloudサンプル https://hello-chapati.dotcloud.com/hello.war/
※DotCloudサンプルにて、登録ボタンを押すとhttp~に遷移してしまいます。

■ローカルでの検証

  • アクションチェーンを行わない場合は、httpへの遷移は発生しない。
  • Apache2にSSLの設定をし、Play Frameworkと連携させるとDotCloudと同じくhttpsからhttpへ遷移しました。
  • アプリ自身にSSLの設定を行いローカルで動作させるとアクションチェーンを行なってもhttpsのままでした。

DotCloudやApache2との連携時、アプリ自身にSSLの設定を行ったのと同じように、
アクションチェーンを実施しても、httpsのままでいるにはどうしたらよいでしょうか?

■参考にした情報
アプリのSSL設定の参考にしたページ
http://playdocja.appspot.com/documentation/1.2.3/production#server

Apache2SSL設定の参考にしたページ
http://hogehoge1966.doorblog.jp/archives/2785748.html

■サンプルソース

// コントローラ
package controllers;
import play.*;
import play.mvc.*;
import java.util.*;
import models.*;
public class Application extends Controller {
    /**
     * トップページ兼入力画面
     */
    public static void index() {
        List<User> users = User.findAll();
        render(users);
    }
    /**
     * ユーザー登録 登録後は入力画面に戻る
     * @param user ユーザー情報
     */
    public static void registUser(User user) {
        user.save();
        index(); // アクションチェーン、index()への遷移でhttpsからhttpに遷移してしまう。
    }
}
<!-- ビュー -->
#{extends 'main.html' /}
#{set title:'ユーザー登録' /}

<h3>ユーザー登録</h3>
#{form @Application.registUser()}
  <div>名前:<input type="text" value="" name="user.name"/></div>
  <div >メールアドレス:<input type="text" value="" name="user.email"/></div>
  <input type="submit" value='登録'>
#{/form}
<h3>登録ユーザー</h3>
#{list items:users, as:'user'}
  <div>
    ${user.name} 
    ${user.email}
  </div>
#{/list}
ウォッチ

この質問への回答やコメントをメールでお知らせします。