chore: Automate SSL with Cloudflare (#12021)
This PR adds support for automatic SSL issuance using Cloudflare when a custom domain is updated. - Introduced a cloudflare configuration. If present, the system will attempt to issue an SSL certificate via Cloudflare whenever a custom domain is added or changed. - SSL verification is handled using an HTTP challenge. - The job will store the HTTP challenge response provided by Cloudflare and serve it under the /.well-known/cf path automatically. How to test: - Create a Cloudflare zone for your domain and copy the Zone ID. - Generate a Cloudflare API token with the required SSL certificate permissions. - Set the Fallback Origin under SSL -> Custom HostName to the Chatwoot installation. - Add or update a custom domain and verify that the SSL certificate is automatically issued. --------- Co-authored-by: Sojan Jose <sojan@pepalo.com>
This commit is contained in:
@@ -416,3 +416,17 @@
|
||||
locked: false
|
||||
description: 'The redirect URI configured in your Google OAuth app'
|
||||
## ------ End of Configs added for Google OAuth ------ ##
|
||||
|
||||
## ------ Configs added for Cloudflare ------ ##
|
||||
- name: CLOUDFLARE_API_KEY
|
||||
display_title: 'Cloudflare API Key'
|
||||
value:
|
||||
locked: false
|
||||
description: 'API key for Cloudflare account authentication'
|
||||
type: secret
|
||||
- name: CLOUDFLARE_ZONE_ID
|
||||
display_title: 'Cloudflare Zone ID'
|
||||
value:
|
||||
locked: false
|
||||
description: 'Zone ID for the Cloudflare domain'
|
||||
## ------ End of Configs added for Cloudflare ------ ##
|
||||
|
||||
@@ -517,6 +517,7 @@ Rails.application.routes.draw do
|
||||
get '.well-known/assetlinks.json' => 'android_app#assetlinks'
|
||||
get '.well-known/apple-app-site-association' => 'apple_app#site_association'
|
||||
get '.well-known/microsoft-identity-association.json' => 'microsoft#identity_association'
|
||||
get '.well-known/cf-custom-hostname-challenge/:id', to: 'custom_domains#verify'
|
||||
|
||||
# ----------------------------------------------------------------------
|
||||
# Internal Monitoring Routes
|
||||
|
||||
Reference in New Issue
Block a user