HTTP
How Telescope checks HTTP endpoints, detects WAF blocking, and classifies results.
HTTP monitors make a real request to your URL, measure the response time, and classify the result as up, down, or degraded.
How a check works
- Telescope sends an HTTP request to your URL with the method and headers you configured.
- The response time is measured from request start to first byte.
- The status code is compared against your expected codes (default: 200–204, 301–303, 307–308).
- If the status code is unexpected, Telescope checks whether a WAF or firewall is blocking the request.
- The result is recorded and your monitor's status is updated.
Checks never hang — every request has a timeout (default 30 seconds, configurable per monitor). If the target doesn't respond in time, the check is marked as down.
Status classification
| Condition | Status | What it means |
|---|---|---|
| Expected status code (e.g., 200) | Up | Your site is responding normally |
| WAF or firewall blocking detected | Degraded | Your site is up, but blocking the checker |
| Unexpected status code (e.g., 500) | Down | Your site returned an error |
| Timeout, DNS failure, or network error | Down | Your site is unreachable |
WAF and firewall detection
Many sites use web application firewalls (Cloudflare, Sucuri, AWS WAF, etc.) that can block automated requests. When this happens, your site is actually up — it's just blocking Telescope's checker.
Instead of triggering a false down alert, Telescope detects WAF blocking and marks the monitor as degraded. This gives you visibility without the noise.
Telescope detects blocking from:
- Cloudflare — challenge pages and bot mitigation
- Sucuri — firewall blocks
- Akamai — request transformation and blocks
- AWS WAF — 403 blocks
- Rate limiting — 429 responses from any provider
- Generic blocking — keywords like "access denied" or "captcha" in the response body
If your monitor is showing as degraded due to WAF blocking, you need to allowlist Telescope's IP addresses in your firewall settings. See the WAF whitelisting guide for step-by-step instructions for Cloudflare, Sucuri, AWS WAF, Akamai, Wordfence, and other firewalls.
Configuration options
You can customize HTTP monitors with these settings:
| Setting | Default | Description |
|---|---|---|
| Method | GET | HTTP method (GET, POST, PUT, etc.) |
| Headers | — | Custom request headers |
| Body | — | Request body for POST/PUT requests |
| Expected status codes | 200–204, 301–303, 307–308 | Which status codes count as "up" |
| Authentication | — | Basic auth or Bearer token |
| Follow redirects | Yes | Whether to follow HTTP redirects |
| Timeout | 30 seconds | How long to wait before marking as down |
Authentication
Telescope supports two authentication methods for monitors that require login:
- Basic auth — sends
Authorization: Basic <base64>with your username and password. - Bearer token — sends
Authorization: Bearer <token>with your API key or token.
Configure these in the monitor settings. Credentials are stored encrypted and never logged.