cURL Received HTTP/0.9 when not allowed, but nghttp2 is installed

I'm trying to setup the wallet RPC for a Monero node, but when I use cURL to that port, I get this error:

curl: (1) Received HTTP/0.9 when not allowed

However, checking curl --version gives me this:

curl 7.68.0 (x86_64-pc-linux-gnu) libcurl/7.68.0 OpenSSL/1.1.1f zlib/1.2.11 brotli/1.0.7 libidn2/2.2.0 libpsl/0.21.0 (+libidn2/2.2.0) libssh/0.9.3/openssl/zlib nghttp2/1.40.0 librtmp/2.3

I thought that error would only present when cURL was compiled without nghttp2. This is an AWS environment, running 20.04.


It would be great to see exactly your complete curl request. HTTP/0.9 is from 1991, previous to the basic HTTP/1.0 so I think that the problem is the response from the Server.

Please try:

  1. Your curl command with --verbose parameter so it outputs all the information.

  2. Try the same url you attempt with curl with wget and what are the contents of the file saved. Do if from inside a new empty folder.

  3. telnet to that port and type: GET / HTTP/1.0

Where is just pressing the Enter key.

And see the output. Maybe you are trying to open the wrong port.

  1. Some times the problem is in the certificate. Try with the parameters: --ssl --sslv2 --sslv3

  2. You can also enforce: --http1.1 --http2

Also your organization or ISP may be using a transparent proxy which is catching the request or that is using a SSL certificate causing problems.

Cheers