11

是否可以在 heroku 上使用 openVPN 设置 VPN 以保持暂存环境的私密性?如果是这样,有人有文章或链接吗?

4

2 回答 2

4

您无法使用 VPN 执行此操作,但您可以使用密码保护站点的暂存实例。为此,您需要设置一个名为“staging”的新 Rails 环境,并在 ApplicationController 中包含以下内容:

class ApplicationController

  before_filter :password_protected if Rails.env.staging?

  protected

  def password_protected
    authenticate_or_request_with_http_basic do |username, password|
      username == "foo" && password == "bar"
    end
  end

end

然后,您需要确保暂存实例的环境:

heroku config:add RACK_ENV=staging
于 2009-11-16T01:22:01.123 回答
0

使用防火墙和 vpn 在 heroku 上保护暂存环境是不可能的。与 David 类似的带有 rails 3 的更清洁的解决方案(也很容易适用于 sinatra)是

# config/environments/staging.rb

MyApp::Application.configure do
  config.middleware.insert_after(::Rack::Lock, "::Rack::Auth::Basic", "Staging") do |u, p|
    [u, p] == ['username', 'password']
  end

 #... other config
end

我写了一篇关于它的简短博客文章

于 2011-04-06T10:32:00.753 回答