Custom Domains
Configure custom domain names for FoundationaLLM portals and APIs to match your organization's branding.
Overview
Both Azure Container Apps (ACA) and Azure Kubernetes Service (AKS) deployments support custom domains with SSL certificates.
| Deployment Type | Certificate Management |
|---|---|
| Quick Start (ACA) | Azure managed or custom |
| Standard (AKS) | Custom certificates required |
Azure Container Apps (Quick Start)
Adding a Custom Domain
Open Azure Portal
- Navigate to your subscription and resource group
Select Container App
- Choose the ACA instance (e.g.,
chatormanagement)
- Choose the ACA instance (e.g.,
Configure Domain
- Select Settings > Custom domains
- Click Add custom domain
- Enter your domain name
Configure DNS
- Note the DNS records displayed in the dialog:
- CNAME record pointing to your Container App
- TXT record for domain verification
- Note the DNS records displayed in the dialog:
Validate Domain
- Add the required DNS records to your DNS provider
- Return to Azure Portal and click Validate
Add Certificate
- Choose Managed certificate (free, auto-renewed) OR
- Upload a custom certificate
- Click Add
Certificate Options
| Option | Description | Use Case |
|---|---|---|
| Managed Certificate | Free Azure-managed SSL | Most deployments |
| Custom Certificate | Upload your own PFX | Enterprise requirements |
Note: Managed certificates may take a few minutes to provision.
For detailed instructions, see Custom domain names and certificates in Azure Container Apps.
Azure Kubernetes Service (Standard)
Pre-Deployment SSL Setup
For Standard deployments, SSL certificates must be provisioned before deployment.
Obtain Certificates
- Acquire SSL certificates for each domain
- Export to PFX format with private key
Place Certificate Files
deploy/standard/certs/ ├── api.example.com.pfx ├── management-api.example.com.pfx ├── chat.example.com.pfx └── management.example.com.pfxConfigure Deployment Manifest
- Update
Deployment-Manifest.jsonwith hostnames
- Update
Deploy
- Certificates are automatically configured during deployment
Certificate Requirements
| Service | Hostname Example | File Name |
|---|---|---|
| Core API | api.example.com |
api.example.com.pfx |
| Management API | management-api.example.com |
management-api.example.com.pfx |
| Chat Portal | chat.example.com |
chat.example.com.pfx |
| Management Portal | management.example.com |
management.example.com.pfx |
For detailed instructions, see Set up a custom domain name and SSL certificate with the application routing add-on.
Update Entra ID Redirect URIs
After configuring custom domains, update the App Registration redirect URIs.
Chat Portal (User Portal)
- Navigate to Azure Portal > Microsoft Entra ID
- Select App registrations
- Search for and select the Chat UI app registration
- Select Manage > Authentication
- In Single-page application Redirect URIs, add:
https://your-custom-domain.com/signin-oidc - Click Save
Management Portal
- Navigate to App registrations
- Search for and select the Management UI app registration
- Select Manage > Authentication
- In Single-page application Redirect URIs, add:
https://your-custom-domain.com/management/signin-oidc - Click Save
Using the Update Script
For Quick Start deployments, run:
cd deploy/quick-start
../common/scripts/Update-OAuthCallbackUris.ps1
DNS Configuration
Required DNS Records
| Record Type | Name | Value |
|---|---|---|
| CNAME | chat |
<aca-fqdn> or <aks-ingress-ip> |
| CNAME | management |
<aca-fqdn> or <aks-ingress-ip> |
| CNAME | api |
<aca-fqdn> or <aks-ingress-ip> |
| A (AKS only) | Various | Ingress IP address |
Private DNS (Standard Deployment)
For Standard deployments with private networking:
- Deployment generates
hostsfile indeploy/standard/config/ - Add entries to:
- Local
hostsfile for testing, OR - Organization's private DNS server
- Local
Troubleshooting
| Issue | Solution |
|---|---|
| Certificate not trusted | Ensure certificate chain is complete |
| DNS validation failed | Check DNS propagation (allow 24-48 hours) |
| Redirect loop | Verify redirect URIs in App Registration |
| Mixed content warnings | Ensure all resources use HTTPS |
Best Practices
- Use Managed Certificates (ACA) when possible for automatic renewal
- Plan DNS Changes in advance - propagation takes time
- Test in Staging before updating production
- Monitor Certificate Expiry for custom certificates
- Document Custom Domains for team reference