A proxy fetches your IP-check page and fails on the API your application needs. Calling it “healthy” or “dead” loses the most useful fact: the two requests were different.

Start with a transport-wide record for the endpoint. Can you reach its listener and complete the required proxy negotiation? Keep destination-specific observations beside that record rather than overwriting it.

ObservationScope to investigate
Proxy listener refuses connectionsThe endpoint and route to it
Proxy denies one destination portThe permitted operation for that destination
One website returns an account errorThe destination application and credentials
Large responses stall, small ones finishThe transfer workload and timeout policy

An HTTP response can establish that a request path returned something while still being unusable for the application. Keep transport success, HTTP status, and expected content as separate outcomes.

If one destination fails repeatedly, pause or investigate that endpoint-and-destination pairing. Disabling the proxy for every unrelated job may throw away useful capacity. Conversely, a global connection failure should not remain hidden behind one website's isolated record.

A practical health key can include the proxy identifier, destination service, and operation type. Avoid using the entire credential-bearing URL or every unique resource path as an ever-growing key. Group only where the grouping makes a meaningful prediction about the next request.

The purpose is better routing evidence, not a larger collection of green badges. A health result should say what was attempted, when, and what it actually established.

Related articles