HTTP Monitoring
Monitor the availability and performance of your websites, REST APIs, and web applications with HTTP(S) monitoring.
Overview
HTTP monitoring checks that your web endpoint is accessible and returns the expected response. UptimeObserver sends HTTP requests to your URL at regular intervals and verifies:
- The server responds within the timeout period
- The HTTP status code matches your expected value
- SSL/TLS certificates are valid (for HTTPS URLs on paid plans)
Configuration Options
URL
Enter the full URL of the endpoint you want to monitor, including the protocol:
https://example.com— Monitor a website homepagehttps://api.example.com/health— Monitor an API health endpointhttps://example.com/login— Monitor a specific page
Use HTTPS
Always use HTTPS URLs when possible for security and to enable SSL certificate monitoring.
HTTP Method
Select the HTTP method for the request:
| Method | Use Case |
|---|---|
| GET | Standard website and API monitoring (default) |
| HEAD | Lightweight checks when you only need to verify availability |
| POST | API endpoints that require POST requests |
| PUT | REST API update endpoints |
| PATCH | REST API partial update endpoints |
| DELETE | REST API delete endpoints (use with caution) |
Expected Status Code
Specify which HTTP status code indicates a successful response:
| Status Code | Meaning |
|---|---|
| 1xx | Informational Responses |
| 2xx | Success (Default) |
| 3xx | Redirection |
| 4xx | Client Errors |
| 5xx | Server Errors |
Redirect Handling
If your URL redirects and follow redirections is disabled, you may need to set the expected status code to 3xx instead of 2xx.
Request Headers
Add custom HTTP headers to your monitoring requests:
| Header | Use Case |
|---|---|
| Authorization | API authentication (Bearer tokens, API keys) |
| Content-Type | Specify request body format (for POST/PUT/PATCH) |
| Accept | Specify expected response format |
| User-Agent | Custom user agent string |
| X-Custom-Header | Any application-specific headers |
Example headers:
Authorization: Bearer your-api-token
Content-Type: application/json
Accept: application/json
Request Body
For POST, PUT, and PATCH requests, you can include a request body:
{
"check": "health",
}
Timeout
Set the maximum time to wait for a response (in seconds). If the server doesn't respond within this time, the check is marked as failed.
- Default: 15 seconds
- Recommended: 10-30 seconds for most endpoints
- Slow endpoints: Up to 60 seconds for known slow APIs
SSL Certificate Monitoring
Paid Plans Only
SSL certificate monitoring is available on paid subscription plans.
For HTTPS URLs, UptimeObserver automatically monitors your SSL/TLS certificate and alerts you before it expires:
What's Monitored
- Certificate validity — Ensures the certificate is valid and trusted
- Expiration date — Alerts you before the certificate expires
- Certificate chain — Verifies the complete certificate chain
Expiration Alerts
You'll receive alerts when your SSL certificate is approaching expiration:
| Days Until Expiry | Alert Level |
|---|---|
| 14 days | Warning |
| 7 days | Urgent |
| 1 days | Critical |
This gives you time to renew your certificate before it causes downtime or security warnings for your users.
Don't rely on Let's Encrypt expiration alerts as they no longer provide them.
Common Use Cases
Website Monitoring
Monitor your main website to ensure it's accessible:
- URL:
https://www.example.com - Method: GET
- Expected Status: 2xx
- Timeout: 15 seconds
REST API Health Check
Monitor an API health endpoint:
- URL:
https://api.example.com/health - Method: GET
- Expected Status: 2xx
- Headers:
Authorization: Bearer <token> - Timeout: 10 seconds
Authenticated Endpoint
Monitor an endpoint that requires authentication:
- URL:
https://app.example.com/api/status - Method: GET
- Expected Status: 2xx
- Headers:
Authorization: Bearer your-api-key Accept: application/json
Webhook Endpoint
Verify a webhook receiver is ready:
- URL:
https://example.com/webhooks/receive - Method: POST
- Expected Status: 2xx
- Headers:
Content-Type: application/json - Body:
{"test": true}
Troubleshooting
Monitor Shows Down But Site Works
- Check firewall rules — Your firewall may be blocking UptimeObserver. See Bot Documentation for our IP addresses
- Verify the URL — Ensure the URL is accessible from outside your network
- Check for geo-restrictions — Your site may be blocking requests from certain regions
- Review rate limiting — Your server may be rate-limiting monitoring requests
SSL Certificate Errors
- Expired certificate — Renew your SSL certificate
- Self-signed certificate — Self-signed certificates will fail validation
- Incomplete chain — Ensure your server sends the complete certificate chain
- Domain mismatch — Certificate must match the monitored domain
Timeout Errors
- Increase timeout — Your endpoint may be slow; try increasing the timeout
- Server performance — Check your server's response times
- Network issues — There may be network latency between monitoring locations and your server
Need Help?
If you need assistance configuring HTTP monitoring, reach out using the "Need Help?" button on the bottom right corner or email us at support@uptimeobserver.com.