【问题标题】:Unable to run rails application on puma using ssl无法使用 ssl 在 puma 上运行 rails 应用程序
【发布时间】:2015-06-23 22:49:18
【问题描述】:

我正在尝试在 windows box 的开发环境中在 puma 上运行我的 rails 应用程序。如果没有 ssl,应用程序可以正常工作..

但是当我尝试为 puma 配置 ssl 时,没有任何反应。日志中没有生成错误,并且网页 (https://localhost:3000/) 显示安全连接失败。下面是命令行的输出,显示服务器已启动,但之后没有发生任何事情..

E:\ap01\dev\rmmi>foreman start -p 3000
17:19:31 web.1  | started with pid 3016
17:19:34 web.1  | *** SIGUSR2 not implemented, signal based restart unavailable!
17:19:34 web.1  | *** SIGUSR1 not implemented, signal based restart  unavailable!
17:19:34 web.1  | *** SIGHUP not implemented, signal based logs reopening unavailable!
17:19:34 web.1  | Puma starting in single mode...
17:19:34 web.1  | * Version 2.11.2 (ruby 2.0.0-p353), codename: Intrepid Squirrel
17:19:34 web.1  | * Min threads: 5, max threads: 5
17:19:34 web.1  | * Environment: development
17:19:36 web.1  | * Listening on tcp://0.0.0.0:3000
17:19:36 web.1  | * Listening on ssl://127.0.0.1:3000?cert=E:/ap01/OpenSSL-Win32/bin/server.crt&key=E:/ap01/OpenSSL-Win32/bin/server.key
17:19:36 web.1  | Use Ctrl-C to stop

我的 config/puma.rb 文件如下 -

path_to_key="E:/ap01/OpenSSL-Win32/bin/server.key"
path_to_cert="E:/ap01/OpenSSL-Win32/bin/server.crt"
threads_count = Integer(ENV['MAX_THREADS'] || 5)
threads threads_count, threads_count

preload_app!

rackup      DefaultRackup
port        ENV['PORT'] || 3000
environment ENV['RACK_ENV'] || 'development'
ssl_bind '127.0.0.1', '3000', { key: path_to_key, cert: path_to_cert }
on_worker_boot do

  ActiveSupport.on_load(:active_record) do
    config = ActiveRecord::Base.configurations[Rails.env] ||
                Rails.application.config.database_configuration[Rails.env]
    config['pool'] = ENV['MAX_THREADS'] || 5
    ActiveRecord::Base.establish_connection(config)
  end
end

工头简介如下-

 web: bundle exec puma -p $PORT -C config/puma.rb

我还在我的应用程序 config/application.rb 文件中设置了 config.force_ssl = true。

您能否告知我在这里遗漏了什么或做错了什么?任何指针将不胜感激

提前致谢!

【问题讨论】:

    标签: ruby-on-rails ruby ruby-on-rails-4 ssl puma


    【解决方案1】:

    你没有做错任何事。浏览器不信任您的本地证书与您的 localhost,因此它会给您一个警告。

    但您可以使用页面(左下角)上的“高级”选项绕过它,然后单击继续查看应用程序的 ssl 版本。

    【讨论】:

      猜你喜欢
      • 2017-03-08
      • 2014-09-23
      • 2016-08-25
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2020-02-22
      • 2018-07-29
      • 2014-04-08
      相关资源
      最近更新 更多