I would guess that CURL is using a proxy, whereas check_http is trying to establish a direct connection. In that case please add your proxy to the commandline:
I’m not using proxies, anyway I tried to execute using verbose:
SHARED root@cop ~# curl -vvvv --head http://my.domain.com
* Expire in 0 ms for 6 (transfer 0x55b49bdfdc10)
* Expire in 1 ms for 1 (transfer 0x55b49bdfdc10)
* Expire in 0 ms for 1 (transfer 0x55b49bdfdc10)
* Expire in 1 ms for 1 (transfer 0x55b49bdfdc10)
* Expire in 0 ms for 1 (transfer 0x55b49bdfdc10)
* Expire in 0 ms for 1 (transfer 0x55b49bdfdc10)
* Expire in 1 ms for 1 (transfer 0x55b49bdfdc10)
* Expire in 0 ms for 1 (transfer 0x55b49bdfdc10)
* Expire in 0 ms for 1 (transfer 0x55b49bdfdc10)
* Expire in 1 ms for 1 (transfer 0x55b49bdfdc10)
* Expire in 0 ms for 1 (transfer 0x55b49bdfdc10)
* Expire in 0 ms for 1 (transfer 0x55b49bdfdc10)
* Expire in 1 ms for 1 (transfer 0x55b49bdfdc10)
* Expire in 0 ms for 1 (transfer 0x55b49bdfdc10)
* Expire in 0 ms for 1 (transfer 0x55b49bdfdc10)
* Expire in 1 ms for 1 (transfer 0x55b49bdfdc10)
* Expire in 0 ms for 1 (transfer 0x55b49bdfdc10)
* Expire in 0 ms for 1 (transfer 0x55b49bdfdc10)
* Expire in 1 ms for 1 (transfer 0x55b49bdfdc10)
* Expire in 0 ms for 1 (transfer 0x55b49bdfdc10)
* Expire in 0 ms for 1 (transfer 0x55b49bdfdc10)
* Expire in 1 ms for 1 (transfer 0x55b49bdfdc10)
* Expire in 0 ms for 1 (transfer 0x55b49bdfdc10)
* Expire in 0 ms for 1 (transfer 0x55b49bdfdc10)
* Expire in 1 ms for 1 (transfer 0x55b49bdfdc10)
* Expire in 0 ms for 1 (transfer 0x55b49bdfdc10)
* Expire in 0 ms for 1 (transfer 0x55b49bdfdc10)
* Expire in 1 ms for 1 (transfer 0x55b49bdfdc10)
* Expire in 0 ms for 1 (transfer 0x55b49bdfdc10)
* Expire in 0 ms for 1 (transfer 0x55b49bdfdc10)
* Expire in 1 ms for 1 (transfer 0x55b49bdfdc10)
* Expire in 0 ms for 1 (transfer 0x55b49bdfdc10)
* Expire in 0 ms for 1 (transfer 0x55b49bdfdc10)
* Expire in 1 ms for 1 (transfer 0x55b49bdfdc10)
* Expire in 0 ms for 1 (transfer 0x55b49bdfdc10)
* Expire in 0 ms for 1 (transfer 0x55b49bdfdc10)
* Expire in 1 ms for 1 (transfer 0x55b49bdfdc10)
* Expire in 0 ms for 1 (transfer 0x55b49bdfdc10)
* Expire in 0 ms for 1 (transfer 0x55b49bdfdc10)
* Expire in 1 ms for 1 (transfer 0x55b49bdfdc10)
* Expire in 0 ms for 1 (transfer 0x55b49bdfdc10)
* Expire in 0 ms for 1 (transfer 0x55b49bdfdc10)
* Expire in 1 ms for 1 (transfer 0x55b49bdfdc10)
* Expire in 0 ms for 1 (transfer 0x55b49bdfdc10)
* Expire in 0 ms for 1 (transfer 0x55b49bdfdc10)
* Expire in 1 ms for 1 (transfer 0x55b49bdfdc10)
* Expire in 0 ms for 1 (transfer 0x55b49bdfdc10)
* Expire in 0 ms for 1 (transfer 0x55b49bdfdc10)
* Expire in 1 ms for 1 (transfer 0x55b49bdfdc10)
* Expire in 0 ms for 1 (transfer 0x55b49bdfdc10)
* Expire in 0 ms for 1 (transfer 0x55b49bdfdc10)
* Expire in 1 ms for 1 (transfer 0x55b49bdfdc10)
* Expire in 0 ms for 1 (transfer 0x55b49bdfdc10)
* Expire in 0 ms for 1 (transfer 0x55b49bdfdc10)
* Expire in 1 ms for 1 (transfer 0x55b49bdfdc10)
* Expire in 0 ms for 1 (transfer 0x55b49bdfdc10)
* Expire in 0 ms for 1 (transfer 0x55b49bdfdc10)
* Expire in 1 ms for 1 (transfer 0x55b49bdfdc10)
* Expire in 0 ms for 1 (transfer 0x55b49bdfdc10)
* Expire in 0 ms for 1 (transfer 0x55b49bdfdc10)
* Expire in 1 ms for 1 (transfer 0x55b49bdfdc10)
* Expire in 0 ms for 1 (transfer 0x55b49bdfdc10)
* Expire in 0 ms for 1 (transfer 0x55b49bdfdc10)
* Expire in 1 ms for 1 (transfer 0x55b49bdfdc10)
* Expire in 0 ms for 1 (transfer 0x55b49bdfdc10)
* Expire in 0 ms for 1 (transfer 0x55b49bdfdc10)
* Expire in 1 ms for 1 (transfer 0x55b49bdfdc10)
* Expire in 0 ms for 1 (transfer 0x55b49bdfdc10)
* Expire in 0 ms for 1 (transfer 0x55b49bdfdc10)
* Expire in 1 ms for 1 (transfer 0x55b49bdfdc10)
* Expire in 0 ms for 1 (transfer 0x55b49bdfdc10)
* Expire in 0 ms for 1 (transfer 0x55b49bdfdc10)
* Expire in 1 ms for 1 (transfer 0x55b49bdfdc10)
* Expire in 0 ms for 1 (transfer 0x55b49bdfdc10)
* Expire in 0 ms for 1 (transfer 0x55b49bdfdc10)
* Expire in 2 ms for 1 (transfer 0x55b49bdfdc10)
* Expire in 0 ms for 1 (transfer 0x55b49bdfdc10)
* Expire in 0 ms for 1 (transfer 0x55b49bdfdc10)
* Expire in 2 ms for 1 (transfer 0x55b49bdfdc10)
* Expire in 0 ms for 1 (transfer 0x55b49bdfdc10)
* Expire in 0 ms for 1 (transfer 0x55b49bdfdc10)
* Expire in 2 ms for 1 (transfer 0x55b49bdfdc10)
* Expire in 0 ms for 1 (transfer 0x55b49bdfdc10)
* Expire in 0 ms for 1 (transfer 0x55b49bdfdc10)
* Expire in 2 ms for 1 (transfer 0x55b49bdfdc10)
* Expire in 0 ms for 1 (transfer 0x55b49bdfdc10)
* Expire in 0 ms for 1 (transfer 0x55b49bdfdc10)
* Expire in 2 ms for 1 (transfer 0x55b49bdfdc10)
* Expire in 0 ms for 1 (transfer 0x55b49bdfdc10)
* Expire in 0 ms for 1 (transfer 0x55b49bdfdc10)
* Expire in 2 ms for 1 (transfer 0x55b49bdfdc10)
* Expire in 0 ms for 1 (transfer 0x55b49bdfdc10)
* Expire in 0 ms for 1 (transfer 0x55b49bdfdc10)
* Expire in 2 ms for 1 (transfer 0x55b49bdfdc10)
* Expire in 0 ms for 1 (transfer 0x55b49bdfdc10)
* Expire in 0 ms for 1 (transfer 0x55b49bdfdc10)
* Expire in 2 ms for 1 (transfer 0x55b49bdfdc10)
* Expire in 0 ms for 1 (transfer 0x55b49bdfdc10)
* Expire in 0 ms for 1 (transfer 0x55b49bdfdc10)
* Expire in 2 ms for 1 (transfer 0x55b49bdfdc10)
* Expire in 0 ms for 1 (transfer 0x55b49bdfdc10)
* Expire in 0 ms for 1 (transfer 0x55b49bdfdc10)
* Expire in 2 ms for 1 (transfer 0x55b49bdfdc10)
* Expire in 0 ms for 1 (transfer 0x55b49bdfdc10)
* Expire in 0 ms for 1 (transfer 0x55b49bdfdc10)
* Expire in 2 ms for 1 (transfer 0x55b49bdfdc10)
* Expire in 0 ms for 1 (transfer 0x55b49bdfdc10)
* Expire in 0 ms for 1 (transfer 0x55b49bdfdc10)
* Expire in 2 ms for 1 (transfer 0x55b49bdfdc10)
* Expire in 0 ms for 1 (transfer 0x55b49bdfdc10)
* Expire in 0 ms for 1 (transfer 0x55b49bdfdc10)
* Expire in 2 ms for 1 (transfer 0x55b49bdfdc10)
* Expire in 0 ms for 1 (transfer 0x55b49bdfdc10)
* Expire in 0 ms for 1 (transfer 0x55b49bdfdc10)
* Expire in 2 ms for 1 (transfer 0x55b49bdfdc10)
* Expire in 0 ms for 1 (transfer 0x55b49bdfdc10)
* Expire in 0 ms for 1 (transfer 0x55b49bdfdc10)
* Expire in 2 ms for 1 (transfer 0x55b49bdfdc10)
* Expire in 0 ms for 1 (transfer 0x55b49bdfdc10)
* Expire in 0 ms for 1 (transfer 0x55b49bdfdc10)
* Expire in 2 ms for 1 (transfer 0x55b49bdfdc10)
* Expire in 0 ms for 1 (transfer 0x55b49bdfdc10)
* Expire in 0 ms for 1 (transfer 0x55b49bdfdc10)
* Expire in 2 ms for 1 (transfer 0x55b49bdfdc10)
* Expire in 0 ms for 1 (transfer 0x55b49bdfdc10)
* Expire in 0 ms for 1 (transfer 0x55b49bdfdc10)
* Expire in 2 ms for 1 (transfer 0x55b49bdfdc10)
* Expire in 0 ms for 1 (transfer 0x55b49bdfdc10)
* Expire in 0 ms for 1 (transfer 0x55b49bdfdc10)
* Expire in 2 ms for 1 (transfer 0x55b49bdfdc10)
* Expire in 0 ms for 1 (transfer 0x55b49bdfdc10)
* Expire in 0 ms for 1 (transfer 0x55b49bdfdc10)
* Expire in 2 ms for 1 (transfer 0x55b49bdfdc10)
* Expire in 0 ms for 1 (transfer 0x55b49bdfdc10)
* Expire in 0 ms for 1 (transfer 0x55b49bdfdc10)
* Expire in 2 ms for 1 (transfer 0x55b49bdfdc10)
* Expire in 0 ms for 1 (transfer 0x55b49bdfdc10)
* Expire in 0 ms for 1 (transfer 0x55b49bdfdc10)
* Expire in 2 ms for 1 (transfer 0x55b49bdfdc10)
* Expire in 0 ms for 1 (transfer 0x55b49bdfdc10)
* Expire in 0 ms for 1 (transfer 0x55b49bdfdc10)
* Expire in 2 ms for 1 (transfer 0x55b49bdfdc10)
* Expire in 0 ms for 1 (transfer 0x55b49bdfdc10)
* Expire in 0 ms for 1 (transfer 0x55b49bdfdc10)
* Expire in 2 ms for 1 (transfer 0x55b49bdfdc10)
* Expire in 0 ms for 1 (transfer 0x55b49bdfdc10)
* Expire in 0 ms for 1 (transfer 0x55b49bdfdc10)
* Expire in 2 ms for 1 (transfer 0x55b49bdfdc10)
* Expire in 0 ms for 1 (transfer 0x55b49bdfdc10)
* Expire in 0 ms for 1 (transfer 0x55b49bdfdc10)
* Expire in 2 ms for 1 (transfer 0x55b49bdfdc10)
* Expire in 0 ms for 1 (transfer 0x55b49bdfdc10)
* Expire in 0 ms for 1 (transfer 0x55b49bdfdc10)
* Expire in 2 ms for 1 (transfer 0x55b49bdfdc10)
* Expire in 0 ms for 1 (transfer 0x55b49bdfdc10)
* Expire in 0 ms for 1 (transfer 0x55b49bdfdc10)
* Expire in 2 ms for 1 (transfer 0x55b49bdfdc10)
* Expire in 0 ms for 1 (transfer 0x55b49bdfdc10)
* Expire in 0 ms for 1 (transfer 0x55b49bdfdc10)
* Expire in 2 ms for 1 (transfer 0x55b49bdfdc10)
* Expire in 0 ms for 1 (transfer 0x55b49bdfdc10)
* Expire in 0 ms for 1 (transfer 0x55b49bdfdc10)
* Expire in 2 ms for 1 (transfer 0x55b49bdfdc10)
* Expire in 0 ms for 1 (transfer 0x55b49bdfdc10)
* Expire in 0 ms for 1 (transfer 0x55b49bdfdc10)
* Expire in 2 ms for 1 (transfer 0x55b49bdfdc10)
* Expire in 0 ms for 1 (transfer 0x55b49bdfdc10)
* Expire in 0 ms for 1 (transfer 0x55b49bdfdc10)
* Expire in 2 ms for 1 (transfer 0x55b49bdfdc10)
* Expire in 0 ms for 1 (transfer 0x55b49bdfdc10)
* Expire in 0 ms for 1 (transfer 0x55b49bdfdc10)
* Expire in 2 ms for 1 (transfer 0x55b49bdfdc10)
* Expire in 0 ms for 1 (transfer 0x55b49bdfdc10)
* Expire in 0 ms for 1 (transfer 0x55b49bdfdc10)
* Expire in 2 ms for 1 (transfer 0x55b49bdfdc10)
* Expire in 0 ms for 1 (transfer 0x55b49bdfdc10)
* Expire in 0 ms for 1 (transfer 0x55b49bdfdc10)
* Expire in 2 ms for 1 (transfer 0x55b49bdfdc10)
* Expire in 0 ms for 1 (transfer 0x55b49bdfdc10)
* Expire in 0 ms for 1 (transfer 0x55b49bdfdc10)
* Expire in 2 ms for 1 (transfer 0x55b49bdfdc10)
* Expire in 0 ms for 1 (transfer 0x55b49bdfdc10)
* Expire in 0 ms for 1 (transfer 0x55b49bdfdc10)
* Expire in 2 ms for 1 (transfer 0x55b49bdfdc10)
* Expire in 0 ms for 1 (transfer 0x55b49bdfdc10)
* Expire in 0 ms for 1 (transfer 0x55b49bdfdc10)
* Expire in 2 ms for 1 (transfer 0x55b49bdfdc10)
* Expire in 0 ms for 1 (transfer 0x55b49bdfdc10)
* Expire in 0 ms for 1 (transfer 0x55b49bdfdc10)
* Expire in 2 ms for 1 (transfer 0x55b49bdfdc10)
* Expire in 0 ms for 1 (transfer 0x55b49bdfdc10)
* Expire in 0 ms for 1 (transfer 0x55b49bdfdc10)
* Expire in 2 ms for 1 (transfer 0x55b49bdfdc10)
* Expire in 0 ms for 1 (transfer 0x55b49bdfdc10)
* Expire in 0 ms for 1 (transfer 0x55b49bdfdc10)
* Expire in 2 ms for 1 (transfer 0x55b49bdfdc10)
* Expire in 0 ms for 1 (transfer 0x55b49bdfdc10)
* Expire in 0 ms for 1 (transfer 0x55b49bdfdc10)
* Expire in 2 ms for 1 (transfer 0x55b49bdfdc10)
* Expire in 0 ms for 1 (transfer 0x55b49bdfdc10)
* Expire in 0 ms for 1 (transfer 0x55b49bdfdc10)
* Expire in 2 ms for 1 (transfer 0x55b49bdfdc10)
* Expire in 0 ms for 1 (transfer 0x55b49bdfdc10)
* Expire in 0 ms for 1 (transfer 0x55b49bdfdc10)
* Expire in 2 ms for 1 (transfer 0x55b49bdfdc10)
* Expire in 0 ms for 1 (transfer 0x55b49bdfdc10)
* Expire in 0 ms for 1 (transfer 0x55b49bdfdc10)
* Expire in 2 ms for 1 (transfer 0x55b49bdfdc10)
* Expire in 0 ms for 1 (transfer 0x55b49bdfdc10)
* Expire in 0 ms for 1 (transfer 0x55b49bdfdc10)
* Expire in 2 ms for 1 (transfer 0x55b49bdfdc10)
* Expire in 1 ms for 1 (transfer 0x55b49bdfdc10)
* Expire in 1 ms for 1 (transfer 0x55b49bdfdc10)
* Expire in 3 ms for 1 (transfer 0x55b49bdfdc10)
* Trying 123.123.123.123...
* TCP_NODELAY set
* Expire in 200 ms for 4 (transfer 0x55b49bdfdc10)
* Connected to my.domain.com (123.123.123.123) port 80 (#0)
> HEAD / HTTP/1.1
> Host: my.domain.com
> User-Agent: curl/7.64.0
> Accept: */*
>
< HTTP/1.1 426
HTTP/1.1 426
< server: nginx/1.18.0
server: nginx/1.18.0
< date: Wed, 15 Jun 2022 07:34:05 GMT
date: Wed, 15 Jun 2022 07:34:05 GMT
< content-type: application/json
content-type: application/json
< content-length: 107
content-length: 107
<
* Connection #0 to host my.domain.com left intact
SHARED root@cop ~# /usr/lib/nagios/plugins/check_http -v -H my.domain.com
GET / HTTP/1.1
User-Agent: check_http/v2.2 (monitoring-plugins 2.2)
Connection: close
Host: my.domain.com
CRITICAL - Socket timeout after 10 seconds
I’m not an HTTP expert, but the return code of the curl test is HTTP/1.1 426, which means “upgrade required”: the server refuss to communicate using the protocol offered by the client. I would not call this an succesful test. In debug mode for curl one notices at the end Connection #0 to host my.domain.com left intact so the TCP session remains open in case the client sends another request in HTTP 2.0 and eventually get back an HTTP/2.0 200.
So, your interpretation of the curl test result is simply wrong: both tests fail. Maybe this gets more clear when doing a wireshark trace.