20

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.

BeastOfCaerbannog
  • 12,964
  • 10
  • 49
  • 77
Fibericon
  • 203
  • 1
  • 2
  • 6

4 Answers4

16

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 the --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<ENTER>
    <ENTER>
    

    where <ENTER> is just pressing the Enter key and see the output. Maybe you are trying to open the wrong port.

  4. Some times the problem is in the certificate. Try with the parameters:

    --ssl
    --sslv2
    --sslv3
    
  5. 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.

BeastOfCaerbannog
  • 12,964
  • 10
  • 49
  • 77
Carles Mateo
  • 1,517
  • 6
  • 12
  • 3
    I would have never assumed the port they said to use, in their own documentation, would be the wrong one, but here we are. – Fibericon Nov 30 '20 at 20:32
  • 2
    Yes, is very disappointing, but those things happen. One day they decide to change the port and nobody realizes that documentation is obsolete. Maybe the good Engineer that was doing that excellent work leaved. Glad the problem is fixed for you! :) Cheers – Carles Mateo Dec 01 '20 at 21:11
  • Beware that docker recommends a secure deployment, therefore the first thing you should check is the protocol, as many tutorial still use http. – Yennefer Dec 24 '20 at 16:11
  • Hello @CarlesMateo, I am also facing similar issue. I am getting "curl: (1) Received HTTP/0.9 when not allowed, and hence HA PROXY is not able to send requests to this Server" error. I have posted my question on "https://stackoverflow.com/questions/76304814/how-to-create-a-http-service-in-shellscript-via-xinetd-service-for-readwrite-ha" – vaibhav singhal May 22 '23 at 09:43
14
curl --http0.9

will help you out. I got that same error message after upgrading curl.

BeastOfCaerbannog
  • 12,964
  • 10
  • 49
  • 77
Burk
  • 141
  • 1
  • 3
0

In my case I got the same error from curl and it turned out it was an ftp server...

So for the ones who came here searching for "curl: (1) Received HTTP/0.9 when not allowed" try this on a browser:

ftp://IP:PORT

Or this on a terminal:

ftp IP PORT
DimiDak
  • 612
  • 6
  • 13
-1

You're trying to connect to an ESMTP mail server - verify this by trying telnet to the same address and port to view the ESMTP greeting.

Artur Meinild
  • 21,605
  • 21
  • 56
  • 89
  • 3
    Your answer could be improved with additional supporting information. Please [edit] to add further details, such as citations or documentation, so that others can confirm that your answer is correct. You can find more information on how to write good answers [in the help center](/help/how-to-answer). – Community Apr 19 '22 at 13:21