アプリをアップロードする方法はありますか?あるいは特定のIPのセットによって公共アクセスをレールアプリに制限する方法
私たちは一般公開までにアプリを開く前にいくつかのプライベートオンラインテストを実行したいと考えています。これまでのところ、私は次のコードが出ている:
class ApplicationController < ActionController::Base
before_filter :restrict_access
def restrict_access
whitelist = ['127.0.0.123', '10.0.1.7', '10.0.1.8'].freeze
unless(whitelist.include? request.env['REMOTE_ADDR'])
render :file => "#{Rails.public_path}/500.html", :status => :unauthorized
return
end
end
end
しかし、上記のコードはまだロゴとフッターを公開する主なレイアウトファイル(アプリ/ビュー/レイアウト/ application.html.erb)をレンダリングします。許可されていないアクセスの場合は、「Ooopsのようなページを表示したい、我々はまだいくつかのテストを行っており、まもなく公開されるだろう!サイトのロゴはありません。何もありません。単純なメッセージです。
私たちは認証宝石としてdeviseを使用しています。プライベートベータテストのアクセスを制限するだけの認証機能を追加することは望ましくありません。代わりにIPでやりたい
このようなことは可能ですか?おそらく上記のコードは作業する必要があるでしょうか?または、この要件のためだけに使用できる宝石はありますか?
にプレーンエラーMSGまたは何を置くことができます。私がサーバーの設定ファイルにアクセスできるかどうかはあまり確かではありません。しかし、:layout => falseはそれを行いました。ありがとう! –
また、500の代わりに503のテンプレートをレンダリングする必要がありますか? –
@Christian:これは単なる措置なので、どのエラーコードを使用するかについて心配する必要はありません。ただし、401エラーコード( ':unauthorized')を送信しているので、' 401.html'というファイルの名前を付けるのが適切かもしれません。 – Matchu