Passing the monitor's own port to ssl-checker exposed an adjacent gap found in review: a plain-HTTP monitor on a non-default port, such as http://host:8080, now had a TLS handshake attempted against a port that serves no TLS. That surfaced to the client as a 500 carrying a raw OpenSSL error ("packet length too long") instead of the previous silent "N/A". The endpoint never checked the scheme — it was already wrong for http:// monitors, just quietly so, since every such lookup went to port 443. Guard on the protocol and fail with a 400 before opening a socket. Adds tests for both plain-HTTP cases (default and custom port), each asserting the checker is never invoked. Verified by removing the guard: both fail without it.
Checkmate backend
The backend service for Checkmate, an open source uptime and infrastructure monitoring application
This directory contains the backend of Checkmate, which handles data processing, storage, and API services for the Checkmate monitoring tool. The backend is responsible for managing uptime checks, handling real-time alerts, and storing historical monitoring data.
Checkmate's backend is designed to be lightweight and scalable, ensuring reliable performance even with a high number of active monitors.
Installation & documentation
For setup instructions, configuration details, and deployment guidelines, please visit our official documentation at docs.checkmate.so.
Related repositories
- Capture Agent (Optional, provides additional server insights)