I'm attempting to pull some data from the SWIS JSON endpoint but a curl request just sits there until it eventually times out and the connection is reset.
The client and server firewalls are off and I can see my connection ESTABLISHED on the server side until it times out. Even on the server itself using 127.0.0.1 it still establishes and then times out after about 2 minutes.
curl -k -u admin:password -X GET -H "Content-Type: application/json" http://nms:17778/SolarWinds/InformationService/v3/Json/Query?query=SELECT+IPAddress+FROM+Orion.Nodes
curl: (56) Recv failure: Connection reset by peer
I tried the HTTPS version to start with, but that's rejected immediately with 'Unknown SSL protocol error in connection' error. With HTTP it connects, but then nothing happens.
SWQL Studio connects on either HTTP or HTTS and works fine, including for the SELECT statement I'm trying with curl (above).
There doesn't seem to be anything in the logs (C:\ProgramData\Solarwinds\InformationService\v3.0\Orion.InformationService.log) related to my query. There doesn't seem to be anything in the Windows logs.
The server has also been rebooted (you never know, right?).
Should the API respond on HTTP, or do I need to sort the HTTPS issue?
This is in the log when HTTPS is tried... An TLS 1.2 connection request was received from a remote client application, but none of the cipher suites supported by the client application are supported by the server. The SSL connection request has failed.
Here's the verbose curl output for a slightly different query that was posted in this thread Upgraded server. Python API broken, PowerShell working by SolarWinds as a test.
$ curl -k -v -u admin:SCRUBBED "http://localhost:17778/SolarWinds/InformationService/v3/Json/Query?query=SELECT+TOP+5+Caption+FROM+Orion.Nodes"
* STATE: INIT => CONNECT handle 0x600057500; line 1108 (connection #-5000)
* Added connection 0. The cache now contains 1 members
* Trying ::1...
* STATE: CONNECT => WAITCONNECT handle 0x600057500; line 1161 (connection #0)
* Connected to localhost (::1) port 17778 (#0)
* STATE: WAITCONNECT => SENDPROTOCONNECT handle 0x600057500; line 1260 (connection #0)
* STATE: SENDPROTOCONNECT => DO handle 0x600057500; line 1278 (connection #0)
* Server auth using Basic with user 'admin'
> GET /SolarWinds/InformationService/v3/Json/Query?query=SELECT+TOP+5+Caption+FROM+Orion.Nodes HTTP/1.1
> Host: localhost:17778
> Authorization: Basic SCRUBBED
> User-Agent: curl/7.48.0
> Accept: */*
* STATE: DO => DO_DONE handle 0x600057500; line 1357 (connection #0)
* STATE: DO_DONE => WAITPERFORM handle 0x600057500; line 1484 (connection #0)
* STATE: WAITPERFORM => PERFORM handle 0x600057500; line 1494 (connection #0)
Anyone have any ideas?