'Rest-Client gem RoR, Getting SSL wrong version error

I want to build a cli ruby app which sends requests to Rails API server. I wanted to use rest-client gem to do that. Every time i use

RestClient.post 

I get the following error

SSL_connect returned=1 errno=0 state=error: wrong version number (OpenSSL::SSL::SSLError)

Is there anything i can do for it to run from the console? The code is pretty simple, I just wanted to test out the feature, so don't worry, that's not final.

I am running rails 6.0.3, ruby 2.6.3.

require "tty-prompt"
prompt = TTY::Prompt.new
require 'rest-client'



if prompt.yes? "Do you have an account ?"
  email = prompt.ask('What is your email?') do |q|
    q.validate(/\A\w+@\w+\.\w+\Z/, 'Invalid email address')
  end
  pass = prompt.mask('password:')
  puts email
  puts pass
  RestClient.post "https://localhost:3000/auth/sign_in",  "email: #{email},password:#{pass}"
  puts response.code
else
  RestClient.post "https://localhost:3000/auth",  "email: #{email},password:#{pass}"

end

I would like for the cli app to send a request to API, That's it, rest-client doesn't want to cooperate with me. Thank You :D



Solution 1:[1]

Likely the port 3000 you access is only http:// and not https://. Accessing a plain http:// port with https:// will cause the client to interpret the servers HTTP error message (since the beginning of the TLS handshake sent by the client was not valid HTTP) wrongly as HTTPS which can result in strange errors like invalid packet length or also wrong version number.

Sources

This article follows the attribution requirements of Stack Overflow and is licensed under CC BY-SA 3.0.

Source: Stack Overflow

Solution Source
Solution 1 Steffen Ullrich