首页 > 解决方案 > 如何在 SSL 模式下使用 Puma 服务器运行 Rails/Capybara?

问题描述

我正在尝试让 capybara 通过 ssl 运行测试 puma 服务器。需要帮助配置它,请:

Capybara.register_server :ssl_puma do |app, port, host|
  require 'rack/handler/puma'
  Rack::Handler::Puma.run(app, Host: host, Port: port, Threads: "0:1") do |server| 
    ctx = Puma::MiniSSL::Context.new
    ctx.key = ENV['SSL_KEY_PATH']
    ctx.cert = ENV['SSL_CERT_PATH']
    ctx.verify_mode = Puma::MiniSSL::VERIFY_NONE

    server.add_ssl_listener host, port, ctx # this line is wrong, but that's the gyst of what needs to happen
  end
end

有任何想法吗?

标签: ruby-on-railssslcapybarapuma

解决方案


如果您使用的是最新版本的 Capybara,我相信您应该能够执行类似的操作

Capybara.server = :puma, { Host: "ssl://#{Capybara.server_host}?key=#{ENV['SSL_KEY_PATH']}&cert=#{ENV['SSL_CERT_PATH']" }

推荐阅读