0

Rails アプリケーションをあるサーバーから別のサーバーに移行しようとしています。アプリケーションは現在のサーバーで正常に動作しています。宛先サーバーをセットアップし、Ruby、Rails、Postgres をインストールしました。次に、ソース サーバーのコードを tar で圧縮し、宛先サーバーで展開しました。bundle install と rake db:setup を実行しました。

Rails コンソールを実行して、シード ファイルに含まれていたオブジェクトを確認し、それらを操作できます。Rails サーバーを実行して、アプリケーションに接続できます。しかし、アプリケーションに対して認証を行うと、再度認証を求めるページにリダイレクトされます。

正しいパスワードを入力していると確信しています。意図的に間違ったパスワードを入力すると、以前と同じログイン ページに戻ります。正しい資格情報でログインすると、別のページにリダイレクトされ、認証が必要であることが示されます。問題のトラブルシューティングでは、実稼働環境でログ レベルを上げました。正しい資格情報でログインすると、データベース クエリが表示され、User オブジェクトが更新されて、別の成功したログインと、最後に成功したログイン日が現在の時刻として反映されます。

  AREL (0.3ms)  UPDATE "users" SET "sign_in_count" = 3, "updated_at" = '2013-01-03
  00:45:19.787483', "current_sign_in_at" = '2013-01-03 00:45:19.786763', "last_sign_in_at"
  = '2013-01-02 22:56:39.395815' WHERE "users"."id" = 1
  SQL (0.4ms)  COMMIT

また、リダイレクト先のページのコードを変更して、user_signed_in? false を返します。私はそれを毎回見ます。つまり、正しいユーザー名とパスワードが入力されていることを意味しますが、何らかの理由でセッションが作成されません。

しかし、私が言ったように、このコードは他のサーバーで正常に動作しています。見落としているかもしれないセットアップ手順はありますか?

さらに調査した結果、この問題は本番モードでのみ発生するようであることが明らかになりました。開発中のアプリの実行は期待どおりに機能します。

4

0 に答える 0