An Azure service that provides a hybrid, multi-cloud management platform for APIs.
Hello Matthew Cabral,
Welcome to the Microsoft Q&A and thank you for posting your questions here.
I understand that you are having production outage due to missing TLS binding for custom domain managed by Azure.
The outage was caused by loss or corruption of TLS binding between the custom domain and Azure-managed certificate, likely due to platform-side sync failure or internal service issue, NOT renewal failure. Since your cert is not yet expired till April, the below steps can help you fix the issue:
- Enforce binding integrity monitoring by monitor Azure Activity Logs:
`Microsoft.Web/sites/hostNameBindings/write``Microsoft.Web/certificates/write``sslBindings/write`Detects unexpected binding changes. - Implement synthetic TLS monitoring by run continuous checks using bash command:
openssl s_client -connect domain:443 -servername domainAlert if: CN != expected domain - Add automatic recovery script or automation. Check binding if missing > rebind certificate. Use this bash
az webapp config ssl bindThis directly addresses failure mode.- [ https://learn.microsoft.com/en-us/troubleshoot/azure/app-service/troubleshoot-azure-app-service-certificates] - Avoid sole dependence on Managed Certificates the recommended for production is to use: Azure Key Vault + custom cert OR External CA + manual upload. Because, managed certs have no SLA for binding continuity.
- Force periodic certificate to sync by using this bash command:
Rekey and Sync > SyncThis will help fixes stale or broken bindings. - https://learn.microsoft.com/en-us/troubleshoot/azure/app-service/connection-issues-with-ssl-or-tls/troubleshoot-domain-and-tls-ssl-certificates - Enable Azure Alerts on:
- Certificate nearing expiry
- Binding changes
- App Service configuration changes
- If the issue persist escalate to official Microsoft support by raising ticket. You can request:
- RCA (Root Cause Analysis)
- Incident ID
I hope this is helpful! Do not hesitate to let me know if you have any other questions or clarifications.
Please don't forget to close up the thread here by upvoting and accept it as an answer if it is helpful.