ステージング環境を保護するための最善の方法を見つけようとしています。現在、同じサーバーでステージングと本番の両方を実行しています。
私が考えることができる2つのオプションは次のとおりです。
Railsダイジェスト認証を使用する
このようなものをapplication_controller.rbに入れることができます
# Password protection for staging environment
if RAILS_ENV == 'staging'
before_filter :authenticate_for_staging
end
def authenticate_for_staging
success = authenticate_or_request_with_http_digest("Staging") do |username|
if username == "staging"
"staging_password"
end
end
unless success
request_http_digest_authentication("Admin", "Authentication failed")
end
end
これはRyanDaigleのブログからリッピングされました。私は最新のRails2.3で実行しているので、これで発生したセキュリティの問題から解放されるはずです。
Webサーバー認証を使用する
.htaccessまたはapache権限を使用してこれを実現することもできますが、サーバーのプロビジョニングが少し複雑になります(Chefを使用しているため、ステージング/本番環境に異なるapache構成が必要になります)。
今のところ、私は最初のものを実装して動作させていますが、問題がありますか?明らかな何かを見逃したことがありますか?前もって感謝します!