laravel.cloud domain and any custom domains you connect.
Cloud domains
Laravel Cloud assigns each environment a freelaravel.cloud domain after its first successful deployment. This domain is ideal for testing and staging before switching to your own domain.
Laravel Cloud builds Cloud domains from your application and environment name. If you rename either, the Cloud domain changes, and you need to redeploy for the change to take effect.
Because Cloud domains are frequently used for non-production environments, Laravel Cloud automatically sets an X-Robots-Tag: noindex, nofollow header on all *.laravel.cloud domains so search engines do not index them. Laravel Cloud does not set this header for custom domains.
Custom domains
A custom domain lets visitors reach your application at your own address (for example,example.com) instead of the default laravel.cloud domain. Laravel Cloud automatically provisions and renews SSL certificates for each custom domain so visitors reach your site over HTTPS.
Add a custom domain
In the dashboard, open your environment’s Network settings and select “Add domain”. Laravel Cloud asks you to choose:- Wildcard support: Whether to accept traffic on all subdomains (for example,
*.example.com). - Redirect behavior: Whether Cloud should redirect
www.example.comtoexample.com(or the reverse). - Downtime preference: Whether brief downtime is acceptable during setup, or whether you need an uninterrupted transition with no gaps in service.
- Cloudflare DNS settings: Whether Cloudflare manages your DNS and whether the hostname is already proxied (routed through Cloudflare’s network).
1
Add the domain in Laravel Cloud
Enter the domain and choose your options.
2
(Optional) Pre-verify ownership and SSL
If you selected the uninterrupted path, add the ownership and SSL validation records first. These records let Laravel Cloud confirm you own the domain and issue an SSL certificate before you switch any traffic over. This option is available only if the hostname is not already proxied through Cloudflare’s network.
3
Point the domain to Laravel Cloud
Add the origin records shown in the UI. Origin records are the DNS entries that direct your domain’s traffic to Laravel Cloud’s servers.
4
Refresh until connected
Use the Refresh action in the dashboard until the domain status shows as connected. Most domains connect within 15 minutes, but DNS propagation can occasionally take longer.
Verification paths
Laravel Cloud supports two verification approaches. The right choice depends on whether you can tolerate a brief gap in service while DNS changes take effect:- Real-time verification (flexible): Point the domain to Laravel Cloud first, and Laravel Cloud then verifies ownership and issues an SSL certificate. This is the simplest path, but there may be a short window where the domain is not yet serving over HTTPS.
- Pre-verification (uninterrupted): Prove ownership and issue the SSL certificate before switching traffic. This path avoids any downtime or insecure window, but requires additional DNS records up front. This approach is available only if the hostname is not already proxied through Cloudflare’s network.
DNS records you will see in Cloud
When you open a domain’s configuration, Laravel Cloud shows the exact DNS records required for your setup. Copy each record’s type, name, and value exactly as shown into your DNS provider.Origin records
Origin records are the primary DNS entries that tell the internet to send traffic for your domain to Laravel Cloud:- An A record maps your domain to an IP address and is common when you are not using Cloudflare DNS.
- A CNAME record maps your domain to another hostname and is common when you are using Cloudflare DNS (Cloudflare supports CNAME flattening at the apex, which allows a CNAME on the root domain).
Ownership verification record
During pre-verification, Laravel Cloud may require a temporary TXT record to confirm that you control the domain. This record looks like:TXT _cf-custom-hostname.<your-domain> -> <value>
After Laravel Cloud confirms ownership, you no longer need this record, though leaving it in place does not cause any issues.
SSL validation records
To issue an SSL certificate for your domain (so your site can use HTTPS), Laravel Cloud may require one or more validation records:TXT _acme-challenge.<your-domain> -> <value>
CNAME _acme-challenge.<your-domain> -> <value> (common for wildcard domains or DCV delegation)
If you are using wildcard support, keep the DCV delegation CNAME record in place permanently. This record lets Laravel Cloud automatically renew your wildcard SSL certificate. Removing it prevents future renewals.
Understanding verification status
A domain is fully connected once Laravel Cloud verifies three components:- Hostname: Ownership of the domain is confirmed.
- SSL: An SSL certificate has been issued and is active, so HTTPS works.
- Origin: DNS is correctly routing traffic to Laravel Cloud.
- Verifying ownership: Laravel Cloud is waiting for your ownership and SSL validation DNS records to become visible. This is the propagation stage.
- Verifying: Ownership and SSL are confirmed, but origin routing has not been detected yet. Your origin DNS record may still be propagating.
- Connected: All three components are verified and your domain is live.
- Timed out: Verification did not complete within the allowed window. Review your DNS records for errors and retry.
Wildcard domains
A wildcard domain (for example,*.example.com) lets any subdomain, such as app.example.com or api.example.com, route to your environment without configuring each one individually. Wildcard domains follow the same verification path as any other domain, determined by your downtime preference.
When you configure a wildcard domain:
- Also configure the root domain
example.com, so bothexample.comand its subdomains are covered. - Add the DCV delegation record shown in the UI. This record lets Laravel Cloud continue issuing and renewing wildcard SSL certificates on your behalf.
_acme-challenge are set to DNS only (gray cloud, not proxied). Proxying these records blocks certificate issuance.
Managing domains
From your environment’s domain settings, you can detach and reassign domains between environments in the same organization. You can also set a verified root domain as the primary domain for an environment. You cannot move or remove a primary domain until you unset it as the primary domain.Limitations
Any number of Cloud environments can have a custom domain assigned to them. Each plan includes a number of custom domains across your entire organization:- Starter: 10 custom domains per organization
- Growth: 50 custom domains per organization
- Business: 250 custom domains per organization
- Enterprise: Custom
Troubleshooting
For guided troubleshooting and provider-specific DNS instructions, see the Domain Verification guide.Verify DNS from the terminal
You can confirm your records are publicly visible by running the following commands in your terminal. Replaceexample.com with your actual domain. The examples show both dig and nslookup, so use whichever is available on your system:

