`

redmine的ssl化

阅读更多
修改rails下的文件(具体目录可使用find搜索)  /webrick.rb
下面红色部分是要追加的,修改之后重新启动redmine
配置之后的url是:
https://localhost:3001


require 'webrick'
require 'webrick/https'
require 'optparse'

OPTIONS = {
  :port         => 3001,
  :ip           => "0.0.0.0",
  :environment  => (ENV['RAILS_ENV'] || "development").dup,
  :server_root  => File.expand_path(RAILS_ROOT + "/public/"),
  :server_type  => WEBrick::SimpleServer,
  :charset      => "UTF-8",
  :mime_types   => WEBrick::HTTPUtils::DefaultMimeTypes,
  :debugger     => false
 
}

ARGV.options do |opts|
  script_name = File.basename($0)
  opts.banner = "Usage: ruby #{script_name} [options]"

  opts.separator ""

  opts.on("-p", "--port=port", Integer,
          "Runs Rails on the specified port.",
          "Default: 3001") { |v| OPTIONS[:port] = v }
  opts.on("-b", "--binding=ip", String,
          "Binds Rails to the specified ip.",
          "Default: 0.0.0.0") { |v| OPTIONS[:ip] = v }
  opts.on("-e", "--environment=name", String,
          "Specifies the environment to run this server under (test/development/production).",
          "Default: development") { |v| OPTIONS[:environment] = v }
  opts.on("-m", "--mime-types=filename", String,
                  "Specifies an Apache style mime.types configuration file to be used for mime types",
                  "Default: none") { |mime_types_file| OPTIONS[:mime_types] = WEBrick::HTTPUtils::load_mime_types(mime_types_file) }

  opts.on("-d", "--daemon",
          "Make Rails run as a Daemon (only works if fork is available -- meaning on *nix)."
          ) { OPTIONS[:server_type] = WEBrick::Daemon }

  opts.on("-u", "--debugger", "Enable ruby-debugging for the server.") { OPTIONS[:debugger] = true }

  opts.on("-c", "--charset=charset", String,
          "Set default charset for output.",
          "Default: UTF-8") { |v| OPTIONS[:charset] = v }

  opts.separator ""

  opts.on("-h", "--help",
          "Show this help message.") { puts opts; exit }

  opts.parse!
end

start_debugger if OPTIONS[:debugger]

ENV["RAILS_ENV"] = OPTIONS[:environment]
RAILS_ENV.replace(OPTIONS[:environment]) if defined?(RAILS_ENV)

require RAILS_ROOT + "/config/environment"
require 'webrick_server'

class SSLDispatchServlet < DispatchServlet
  def self.dispatch(options = {})
    Socket.do_not_reverse_lookup = true # patch for OS X

    params = {ort        => options[:port].to_i,
               :ServerType  => options[:server_type],
               :BindAddress => options[:ip],
               :SSLEnable   => true,
               :SSLVerifyClient => ::OpenSSL::SSL::VERIFY_NONE,
               :SSLCertName => [ [ "CN", WEBrick::Utils::getservername ] ]
}
    params[:MimeTypes] = options[:mime_types] if options[:mime_types]

    server = WEBrick::HTTPServer.new(params)
    server.mount('/', DispatchServlet, options)

    trap("INT") { server.shutdown }
   
    server.start
  end
end


OPTIONS['working_directory'] = File.expand_path(RAILS_ROOT)

puts "=> Rails application started on https://#{OPTIONS[:ip]}:#{OPTIONS[:port]}"
puts "=> Ctrl-C to shutdown server; call with --help for options" if OPTIONS[:server_type] == WEBrick::SimpleServer
SSLDispatchServlet.dispatch(OPTIONS)
分享到:
评论

相关推荐

    redmine_ssl_auth:使用 SSL 客户端证书在 Redmine 中启用身份验证

    管理平台SSL身份验证插件 这个 redmine 插件使用 SSL 客户端证书启用身份验证用法 这很简单安装插件:ruby script/plugin install git://github.com/koke/redmine_ssl_auth.git 为 SSL 身份验证配置 apache(请参阅...

    如何在局域网安装Redmine(原创)

    介绍了如何在局域网的服务器上安装Redmine,文中很大一部分是自己的原创。由于本人要在公司的内部服务器上安装一个Redmine,根据网上找到的介绍Redmine的安装的文章实践过程中遇到了不少问题。经过几天的奋战,终于...

    BitNami的Redmine升级步骤

    BitNami的Redmine升级步骤 主要适合于redmine for windows的Upgrade

    Redmine API (Redmine 官方文档pdf版)

    Redmine API 官方文档pdf版

    项目管理redmine配置

    redmine 项目管理 软件 安装配置

    Redmine在Windows下实现自动备份和异地备份

    Redmine在Windows下实现自动备份和异地备份 1.Redmine备份内容 Redmine在Windows下的自动备份实现,包括: 1)Redmine目录的全备份(1周或1个月备份1次,由windows计划来调度执行),将整个Redmine安装的文件夹全部...

    基于ubuntu18.4的redmine的插件安装教程

    但Redmine本身不含有该功能需要另外安装相应的插件,本节主要介绍本地头像插件、office文档预览插件、pdf文档预览插件的安装与配置。本节中所有内容均在ubuntu18.4的服务器上实测验证通过的。本文档描述的内容在本人...

    redmine中文使用手册

    redmine中文使用手册,不包含安装配置,只是教大家怎么使用redmine,安装教程很多所以我没写,使用的没有,所以把自己使用的经验教给大家方便大家快速入门

    redmine_gitlab_hook plugin

    redmine gitlab plugin hook.可以用来集成gitlab与redmine。使得redmine代码库在gitlab库更新时自动拉取最新代码。

    支持Redmine'sRESTAPI的Nodejs库Node-Redmine.zip

    Node-Redmine是一个100%支持Redmine's REST API的Nodejs库。安装npm install node-redmine示例代码var Redmine = require('../lib/redmine'); /////////////////////////////////////////////////////////////...

    Redmine缺陷数量统计

    用于统计Redmine的缺陷数量,按开发员和测试人员两种角度。下载后修改数据库链接后和统计日期即可使用。

    redmine配置sso单点登录插件

    redmine本身没有提供单点登录功能,这个插件可以提供redmine的单点登录。解压后将这两个文件放置在redmine目录的plugins目录中。具体操作参照README.md。每个解压文件中都有个EADME.md

    redmine 2.2.2

    redmine 2.2.2

    redmine 2.6插件包

    个人整理redmine 2.6插件包,汉化部分插件 advanced_roadmap_v2:高级线路图多个图表 redmine_clipboard_image_paste:新建问题的时候可以从剪切板中获取截图 redmine_agile:敏捷开发插件,可以拖动任务改变状态,...

    Redmine的PC客户端

    Redmine的PC客户端,挺好用的,可直接与redmine连接。

    Redmine数据库.pdf

    Redmine数据库.pdf

    Redmine1.1.1安装文档,Redmine1.1.0安装文档

    Redmine1.1.1,Redmine1.1.0通用安装文档,包含所用软件下载地址,rubyinstaller-1.8.7-p330.exe必须是这个版本否则会安装失败

    redmine数据库所有表结构的介绍

    redmine数据库所有表结构的介绍,做二次开发的能用到。

    Mastering Redmine(PACKT,2ed,2016)

    Redmine is not only one of the popular open source project management applications but also one of the best project hosting and issue tracking solutions. This book is an update of our previous ...

    redmine_tagging, 为Redmine问题/wiki页面添加简单标签支持.zip

    redmine_tagging, 为Redmine问题/wiki页面添加简单标签支持 Redmine标签插件 这里插件向Redmine添加有用的标记功能:在边栏中标记云标记建议和自动完成Redmine搜索集成( 可能搜索 #tag 以查找 wiki/问题)基于标签的...

Global site tag (gtag.js) - Google Analytics