mirror of
https://github.com/louislam/uptime-kuma.git
synced 2026-03-02 22:57:00 -05:00
Support Caddy's on_demand_tls feature's ask directive #2460
Labels
No labels
A:accessibility
A:api
A:cert-expiry
A:core
A:dashboard
A:deployment
A:documentation
A:domain expiry
A:incidents
A:maintenance
A:metrics
A:monitor
A:notifications
A:reports
A:settings
A:status-page
A:ui/ux
A:user-management
Stale
ai-slop
blocked
blocked-upstream
bug
cannot-reproduce
dependencies
discussion
duplicate
feature-request
feature-request
good first issue
hacktoberfest
help
help wanted
house keeping
invalid
invalid-format
invalid-format
question
releaseblocker 🚨
security
spam
type:enhance-existing
type:new
wontfix
No milestone
No project
No assignees
1 participant
Notifications
Due date
No due date set.
Dependencies
No dependencies set.
Reference
starred/uptime-kuma#2460
Loading…
Add table
Add a link
Reference in a new issue
No description provided.
Delete branch "%!s()"
Deleting a branch is permanent. Although the deleted branch may continue to exist for a short time before it actually gets removed, it CANNOT be undone in most cases. Continue?
Originally created by @thedaveCA on GitHub (Aug 10, 2023).
⚠️ Please verify that this feature request has NOT been suggested before.
🏷️ Feature Request Type
API
🔖 Feature description
Support Caddy's
askendpoint to validate whether a requested domain is assigned to a status page or not.✔️ Solution
A call to
/check?domain=mystatuspage.example.comwould return a200ifmystatuspage.example.comis configured as a status page, or a404error if it is not known to be a status page.❓ Alternatives
Writing a small utility that would receive these requests, call Uptime Kuma's IP/Port and make a
http://$domain-to-be-testedGET request and proxy the result code.📝 Additional Context
Caddy is a HTTPS reverse-proxy server with the unique feature of being able to issue HTTPS certificates automatically upon first request using their on_demand_tls function.
If this function is used it would allow creation of a new status page entirely within Uptime Kuma and automatically serve it securely over HTTPS without touching Caddy's configuration file, simplifying management of Uptime Kuma.
However to be used securely, Caddy must be able to determine if a domain name is configured on the backend server, otherwise this feature is subject to abuse.
Caddy documents the on_demand_tls / ask functionality.
The URI is configurable within Caddy, but will always make the request
?domain=, Uptime Kuma could answer this request under/api/caddy-check?domain=or other paths as appropriate.