post_connection_check ': имя хоста "ip" не соответствует сертификату сервера (OpenSSL :: SSL :: SSLError) - PullRequest
0 голосов
/ 10 апреля 2019

Я пытался подключиться к удаленному серверу, используя метод REST, в ruby ​​я получаю ошибку как

/usr/lib/ruby/2.3.0/openssl/ssl.rb:315:in `post_connection_check': hostname "ip" does not match the server certificate (OpenSSL::SSL::SSLError)
        from /usr/lib/ruby/2.3.0/net/http.rb:944:in `connect'
        from /usr/lib/ruby/2.3.0/net/http.rb:863:in `do_start'
        from /usr/lib/ruby/2.3.0/net/http.rb:852:in `start'
        from /var/lib/gems/2.3.0/gems/rest-client-2.0.2/lib/restclient/request.rb:715:in `transmit'
        from /var/lib/gems/2.3.0/gems/rest-client-2.0.2/lib/restclient/request.rb:145:in `execute'
        from /var/lib/gems/2.3.0/gems/rest-client-2.0.2/lib/restclient/request.rb:52:in `execute'
        from /var/lib/gems/2.3.0/gems/rest-client-2.0.2/lib/restclient.rb:71:in `post'

эта ошибка произошла из приведенной ниже строки кода


require 'rest-client'

response        = RestClient.post(url, data, content_type: ctype)

Я попытался подключиться к серверу, используя openssl из командной строки, следующим образом Мне удалось подключиться к серверу

openssl s_client -connect ip:port 

Как решить эту ошибку, так как я использую только ruby. (не рельсы) Помогите мне, пожалуйста. Заранее спасибо.

1 Ответ

0 голосов
/ 10 апреля 2019

hostname "ip" does not match the server certificate (OpenSSL::SSL::SSLError) означает, что проверка сертификата сервера имеет некоторые проблемы.

В зависимости от вашей ситуации, можно игнорировать это или нет.Если вы хотите игнорировать это (примечание: небезопасно), используйте

response = RestClient.execute(method: :post, 
                              url: url, 
                              payload: data, 
                              verify_ssl: false, 
                              headers: { content_type: ctype })

См. https://github.com/rest-client/rest-client/issues/288

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...