`

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)
分享到:
评论

相关推荐

    linux 安装 redmine脚本

    这个过程可以通过一个自动化脚本来简化,比如`redmine.sh`。脚本通常会包含上述所有步骤,并可能包括错误检查和自动恢复机制。如果你拥有这样的脚本,只需在终端中运行它,即可一键安装Redmine。但请注意,安全性和...

    redmine-3.4.6.tar.gz

    7. **创建数据库**:配置好数据库连接后,运行数据库迁移脚本初始化 Redmine 数据库: ``` RAILS_ENV=production bundle exec rake db:migrate ``` 8. **预编译静态资源**:为了提高页面加载速度,需要预编译 ...

    redmine-3.3.1

    8. 安全性:确保安装后更新Redmine的默认设置,如更改默认的session存储方式,启用SSL加密以保证数据传输安全,以及定期更新到最新版本以防止已知的安全漏洞。 9. 插件与定制:Redmine拥有丰富的插件生态系统,允许...

    redmine-3.0.5.zip For windows平台

    7. **配置Web服务器**:配置Web服务器以代理到Redmine的应用程序目录,通常需要配置SSL以确保安全。 8. **启动服务**:启动Web服务器,Redmine即可正常运行。 在使用过程中,可能还需要关注以下几点: - **安全性*...

    centos5.5 redmine安装及其插件安装

    在生产环境中,您可能还需要设置SSL、反向代理和自定义域名等。 以上就是CentOS 5.5上安装Redmine及其插件的完整过程。请注意,安装过程中可能会遇到依赖冲突或其他问题,此时需要查阅官方文档或社区资源来解决。...

    Ansible-ansible-redmine.zip

    4. **设置认证**:Ansible 可能会处理 Redmine 的身份验证,如生成和配置 SSL 证书,或者设置 HTTP 基本身份验证。 5. **初始化 Redmine**:这包括创建管理员用户、初始化数据库结构、设置服务器端口和 URL。 6. *...

    redmine-2.6.7 For Linux版本

    - **安全配置**:为了防止未授权访问,需要对Redmine的配置文件进行安全优化,如设置SSL加密、限制IP访问等。 - **定期备份**:为防止数据丢失,定期备份数据库和重要文件。 - **升级维护**:关注Redmine的最新...

    redmine在centos下配置文档

    Redmine 是一个开源的项目管理工具,常用于追踪任务、管理问题、规划版本等。要在 CentOS 系统中配置 Redmine,需要安装一系列依赖服务,包括 Apache 服务器、Ruby 解释器、MySQL 数据库以及 LDAP 和邮件服务器支持...

    redmine安装指南

    8. **初始化数据库** 运行数据库迁移脚本来创建Redmine的表结构。 ``` bundle exec rake db:migrate RAILS_ENV=production ``` 9. **生成session加密密钥** 为了安全,需要生成一个session加密密钥。 ``` ...

    linux redmine

    10. 创建一个Redmine的初始化用户并登录: ``` rake redmine:bootstrap RAILS_ENV=production ``` 11. 将Redmine的目录添加到Web服务器的DocumentRoot下,或通过软链接指向它。 12. 重新启动Web服务器以使更改...

    在puma上运行redmine:在puma上运行redmine安装教程(UbuntuMySQL)

    7. **初始化数据库**: 运行`bundle exec rake db:create db:migrate RAILS_ENV=production`来创建和迁移数据库。 8. **生成Redmine的session加密密钥**: 执行`bundle exec rake redmine:generate_secret_token ...

    redmine项目管理 v4.1.1-源码.zip

    初始化Redmine: 1. 运行`rails server`启动Redmine的开发服务器,然后在浏览器中访问`http://localhost:3000`。 2. 首次运行会提示创建管理员账号,完成这一步后,你可以登录并开始管理你的项目。 自定义和扩展: ...

    redmine_git_hosting_dev_env

    标题“redmine_git_hosting_dev_env”暗示了这是一个关于在开发环境中配置Redmine与Git Hosting的教程或项目。Redmine是一款开源的项目管理工具,而Git Hosting则通常指的是使用Git作为版本控制系统来托管代码仓库。...

    ZynK | Kronos FMSI-crx插件

    5. **开源与定制化**:由于Redmine是开源的,用户可以依据自身需求对其进行定制。了解如何利用插件扩展Redmine的功能,对于优化工作流程非常有帮助。 6. **数据安全与隐私保护**:在同步过程中,确保数据的安全传输...

    Python-AwesomeSelfhosted可以在本地搭建的开源网络服务和Web应用列表

    4. **自托管应用类型**:常见的自托管应用包括邮件服务器(如Mail-in-a-Box)、文件同步和共享(如Nextcloud)、项目管理工具(如Redmine)、博客平台(如Hexo)和即时通讯系统(如Matrix)等。 5. **安装和配置**...

    项目服务器

    9. 项目管理:工具如Redmine或Trello可帮助团队规划任务,分配工作,监控进度。这些工具与项目服务器集成,可以提供全面的项目视图。 10. 安全性:项目服务器需要确保代码安全,防止未经授权的访问和数据泄露。这...

    SVN服务端工具压缩包

    - 配置:设置版本库路径、用户权限、SSL加密等,确保安全访问。 - 创建版本库:通过管理界面或命令行工具创建新的SVN仓库。 - 授权管理:配置svnserve.conf或httpd.conf文件以控制用户访问权限。 3. **SVN客户端...

    connector-rt:Odoo 和请求跟踪器之间的连接器 (https)

    Odoo是一款强大的开源企业资源规划系统,它提供了广泛的模块化功能,涵盖了企业管理的各个方面。在实际应用中,为了实现更高效的问题追踪和协作,Odoo常常需要与其他请求跟踪器集成。"connector-rt:Odoo 和请求跟踪...

Global site tag (gtag.js) - Google Analytics