Rest 使用cURL的HTTP GET给出SSL错误
我已经编写了一个REST服务器,它监听端口8000。我正在尝试使用cURL命令从同一台机器调用api-Rest 使用cURL的HTTP GET给出SSL错误,rest,http,ssl,curl,nss,Rest,Http,Ssl,Curl,Nss,我已经编写了一个REST服务器,它监听端口8000。我正在尝试使用cURL命令从同一台机器调用api- curl -H "accept: application/json" https://localhost:8000/status -v 我得到以下错误 * About to connect() to localhost port 8000 (#0) * Trying ::1... * Connected to localhost (::1) port 8000 (#0) * Initia
curl -H "accept: application/json" https://localhost:8000/status -v
我得到以下错误
* About to connect() to localhost port 8000 (#0)
* Trying ::1...
* Connected to localhost (::1) port 8000 (#0)
* Initializing NSS with certpath: sql:/etc/pki/nssdb
* CAfile: /etc/pki/tls/certs/ca-bundle.crt
CApath: none
* NSS error -12263 (SSL_ERROR_RX_RECORD_TOO_LONG)
* SSL received a record that exceeded the maximum permissible length.
* Closing connection 0
curl: (35) SSL received a record that exceeded the maximum permissible length.
我尝试使用-k选项绕过证书验证,但没有效果。我错过了什么?如果需要更多信息,请发表评论
编辑:
我的朋友建议在cURL命令中只使用http。然后,它绕过了SSL检查,并且工作正常。但是https出了什么问题?我是否还需要为本地主机安装证书?还有,为什么-k选项不起作用
我的朋友建议在cURL命令中只使用http。然后,它绕过了SSL检查,并且工作正常
看起来您的服务器根本没有启用SSL。这就是HTTP起作用而HTTPS不起作用的原因。使用HTTP并没有绕过任何SSL检查,因为HTTP并没有SSL,所以并没有SSL检查可以绕过
还有,为什么-k选项不起作用
-k
选项用于跳过SSL(HTTPS)连接上的证书验证。但它只能在首先有SSL连接的情况下工作。由于您的服务器根本不支持SSL,-k
将不起作用
我是否还需要为本地主机安装证书
您需要首先在(未知)服务器上启用SSL。如果您对自己的服务器进行了编码,则这意味着需要额外编码。而且,一旦服务器可以执行SSL,您还需要设置服务器可以提供给客户端的证书。在我的情况下,我必须检查vhost配置。 我必须做的事情是为域定义一个基于特定名称的vhost 可能有人只是想先进行快速测试,不想配置vhost,然后他们会遇到此错误消息。您的端口8000是否响应SSL请求?!它是否配置了证书?