Ситуация запуска:
Установлено Linux Операционная система Ubuntu и Ruby через установщик apt. После этого установил WEBrick Ruby сервер через обработчик gem packgake.
Приложения с номерами версий:
- Linux Ubuntu 18.04
- Ruby 2.5.1p57
- OpenSSL 1.1.1
- gem WEBrick 2.7.6
- gem openssl 2.7.6
Целевая ситуация:
Для запуска сервера WEBrick в режиме https
я заглянул на домашнюю страницу WEBricks, где следовал примеру установки
require 'webrick'
require 'webrick/https'
require 'openssl'
cert = OpenSSL::X509::Certificate.new File.read '/path/to/cert.pem'
pkey = OpenSSL::PKey::RSA.new File.read '/path/to/pkey.pem'
server = WEBrick::HTTPServer.new(:Port => 8000,
:SSLEnable => true,
:SSLCertificate => cert,
:SSLPrivateKey => pkey)
trap 'INT' do server.shutdown end
server.start
Я сгенерировал сертификат / ключ с помощью следующей команды
openssl req -x509 -newkey rsa:4096 -keyout key.pem -out cert.pem -days 365
В конце концов, WEBrick не работает и выводит следующее сообщение об ошибке
ERROR OpenSSL::SSL::SSLError: SSL_accept returned=1 errno=0 state=error: http request
/var/lib/gems/2.5.0/gems/webrick-1.6.0/lib/webrick/server.rb:299:in `accept'
/var/lib/gems/2.5.0/gems/webrick-1.6.0/lib/webrick/server.rb:299:in `block (2 levels) in start_thread'
Кто-нибудь знает, как решить проблему?