API Reliability

cURL TLS Debugging Guide

Use cURL verbose output to separate DNS, TCP, certificate chain, hostname, protocol and proxy failures without disabling verification. Last updated September 17, 2026.

Use cURL verbose output to separate DNS, TCP, certificate chain, hostname, protocol and proxy failures without disabling verification. This reference is written for developers who need practical validation behavior, reviewable rules and safe examples rather than copied snippets with no explanation.

Recommended workflow

StepWhy it matters
Confirm the hostnameCheck DNS results and ensure the requested hostname matches the certificate identity.
Read the TLS phaseVerbose output shows protocol negotiation, certificate verification and proxy behavior.
Inspect the chainUse an SNI-aware certificate check to find missing intermediates or an unexpected issuer.
Fix trust deliberatelyUpdate the server chain or trusted CA bundle instead of reaching for insecure mode.

Starter snippet

curl --verbose --connect-timeout 5 https://api.example.test/health
openssl s_client -connect api.example.test:443 -servername api.example.test

Review checks

Common mistakes

Validation should help users correct input while protecting systems from bad data. Keep syntax checks, product policy, security review and deliverability checks separate.

Related Formalint references

Continue with Tls Certificate Debugging Guide, Ssl Renewal Debugging Guide, Curl Api Debugging Cheatsheet.