[英]How to Start WEBrick Server in Rubymine Console from Ruby Script
[英]How to start WEBrick Ruby server in secure SSL mode HTTPS
啟動情況:
通過apt安裝程序安裝了Linux Ubuntu操作系統和Ruby。 之后通過 gem packgake 處理程序安裝 WEBrick Ruby 服務器。
帶有版本號的應用程序:
目標情況:
在 https 模式下運行 WEBrick 服務器
我查看了 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'
有誰知道,如何解決這個問題?
答案可以在您收到的錯誤消息中找到:
ERROR OpenSSL::SSL::SSLError: SSL_accept returned=1 errno=0 state=error: http request
當您嘗試訪問服務器時,您正在發出 HTTP 請求,而不是 HTTPS 請求。 OpenSSL 期待 HTTPS 請求。
將客戶端中的 http://localhost: http://localhost:8000
更改為https://localhost:8000
,您將獲得:
[2020-04-25 13:08:49] ERROR `/' not found.
::1 - - [25/Apr/2020:13:08:49 PDT] "GET / HTTP/1.1" 404 285
- -> /
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.