---
title: "Domini personalizzati SaaS con Cloudflare: setup e costi — Dardo"
description: "Fai usare ai clienti il loro dominio nel tuo SaaS con Cloudflare for SaaS: flusso DNS, validazione dei certificati, prezzi, limiti apex e alternative."
url: "https://dardo.studio/it/blog/domini-personalizzati-saas/"
language: "it"
translations: {"en":"https://dardo.studio/en/blog/custom-domains-for-saas/","es":"https://dardo.studio/es/blog/dominios-personalizados-para-saas/","fr":"https://dardo.studio/fr/blog/domaines-personnalises-saas/","de":"https://dardo.studio/de/blog/custom-domains-saas/","pt":"https://dardo.studio/pt/blog/dominios-personalizados-para-saas/","nl":"https://dardo.studio/nl/blog/eigen-domeinen-voor-saas/","sv":"https://dardo.studio/sv/blogg/egna-domaner-saas-cloudflare/","pl":"https://dardo.studio/pl/blog/wlasne-domeny-klientow-saas/","uk":"https://dardo.studio/uk/blog/custom-domains-for-saas/","ru":"https://dardo.studio/ru/blog/custom-domains-for-saas/","ar":"https://dardo.studio/ar/blog/custom-domains-for-saas/","hi":"https://dardo.studio/hi/blog/custom-domains-for-saas/","th":"https://dardo.studio/th/blog/custom-domains-for-saas/","ja":"https://dardo.studio/ja/blog/custom-domains-for-saas/","ko":"https://dardo.studio/ko/blog/custom-domains-for-saas/","zh-Hans":"https://dardo.studio/zh-Hans/blog/custom-domains-for-saas/","zh-Hant":"https://dardo.studio/zh-Hant/blog/custom-domains-for-saas/"}
updated: "2026-10-10T08:58:43.543Z"
---

[Blog](https://dardo.studio/it/blog/)

# Domini personalizzati per SaaS: far usare ai clienti il proprio dominio con Cloudflare for SaaS

Fai usare ai clienti il loro dominio sul tuo SaaS con Cloudflare for SaaS: come funziona la validazione, quanto costa a ottobre 2026 e dove si inceppa.

Di [Nicolás Cerón](https://dardo.studio/it/studio/) ·10 ottobre 2026

![Una fila di vetrine diverse su una strada di notte, con uno spaccato sotto il marciapiede che mostra cavi cremisi che collegano ogni negozio a un'unica sala macchine condivisa.](https://dardo.studio/_astro/01M4GYDRFXRY8D1WBNX295F126_2nc9Aq.webp)

## La risposta breve

Per far servire la tua app su un dominio del cliente, ad esempio `portal.customer.com`, registri quel dominio come custom hostname nella tua zona Cloudflare. Il cliente aggiunge un record CNAME che punta a te, Cloudflare verifica che controlli l'hostname, una certification authority emette i certificati e le richieste iniziano ad arrivare alla tua app.

A ottobre 2026, la [pagina dei piani di Cloudflare for SaaS](https://developers.cloudflare.com/cloudflare-for-platforms/cloudflare-for-saas/plans/) include 100 custom hostname nei piani Free, Pro e Business, indica 0,10 $ per ogni hostname aggiuntivo e limita questi piani a 50.000 hostname.

Due limiti condizionano ogni progetto. I clienti non possono puntare a te un dominio apex puro (`customer.com`) senza un add-on Enterprise a pagamento. E i custom hostname wildcard, i certificati personalizzati e la scelta della certification authority sono solo Enterprise. La configurazione su Cloudflare richiede pochi passaggi. Il lavoro di prodotto intorno richiede più tempo, e questa guida parla soprattutto di quello.

## Che cos'è un custom hostname

Un custom hostname è un dominio di proprietà del cliente che Cloudflare instrada verso la tua zona. La [guida alla configurazione](https://developers.cloudflare.com/cloudflare-for-platforms/cloudflare-for-saas/start/getting-started/) prevede quattro elementi:

- **Zona SaaS.** Il tuo dominio su Cloudflare, con Cloudflare for SaaS attivo. Per iniziare basta una zona sul piano Free.
- **Origine di fallback.** Un record DNS con proxy, come `proxy-fallback.yourapp.com`, verso cui va il traffico dei custom hostname.
- **Target CNAME.** Un nome facoltativo e più comprensibile a cui i clienti possono puntare, come `customers.yourapp.com`.
- **Custom hostname.** Il dominio del cliente, creato via API o dashboard, con un proprio stato di validazione. Cloudflare emette due certificati per ciascuno: uno principale ECDSA P-256 e uno di fallback RSA a 2048 bit per i client più vecchi.

Se la tua app gira su Cloudflare Workers, la piattaforma su cui costruisce Dardo, il [Worker può fare da origine di fallback](https://developers.cloudflare.com/cloudflare-for-platforms/cloudflare-for-saas/start/advanced-settings/worker-as-origin/). Una route `*/*` intercetta le richieste di ogni custom hostname e il tuo codice legge l'header `Host` per individuare il tenant. Cloudflare offre anche metadati personalizzati per hostname, ma è un add-on Enterprise a pagamento: con gli altri piani quella ricerca resta nel tuo database, ad esempio D1.

## Come funziona il flusso

1. **Il cliente inserisce un dominio** nelle impostazioni della tua app. Il backend lo normalizza e chiama l'endpoint [Create Custom Hostname](https://developers.cloudflare.com/api/resources/custom%5Fhostnames/methods/create/) indicando un metodo di validazione del certificato.
2. **Il cliente aggiunge il record DNS** che gli mostri, ad esempio `portal.customer.com CNAME customers.yourapp.com`.
3. **Cloudflare verifica la proprietà dell'hostname.** La [validazione in tempo reale](https://developers.cloudflare.com/cloudflare-for-platforms/cloudflare-for-saas/domain-support/hostname-validation/realtime-validation/) parte quando compare il CNAME e può causare un breve downtime. La [pre-validazione](https://developers.cloudflare.com/cloudflare-for-platforms/cloudflare-for-saas/domain-support/hostname-validation/pre-validation/) usa un record TXT o un token HTTP prima delle modifiche DNS, per i domini già attivi. La pre-validazione non è supportata quando anche la zona del cliente è su Cloudflare (configurazione "Orange-to-Orange").
4. **La certification authority verifica il controllo del dominio** ed emette i certificati.
5. **L'hostname è pronto** quando `status` e `ssl.status` sono entrambi `active` e il DNS punta al tuo target. Cloudflare avverte che un handshake TLS può riuscire prima che `ssl.status` diventi active, quindi considera l'endpoint dei dettagli del custom hostname come fonte di verità.

### Metodi di validazione del certificato

La [guida alla validazione](https://developers.cloudflare.com/cloudflare-for-platforms/cloudflare-for-saas/security/certificate-management/issue-and-validate/validate-certificates/) di Cloudflare offre queste opzioni:

| Metodo           | Cosa fa il cliente                                                                       | Funziona prima del cambio DNS | Note                                                                                                               |
| ---------------- | ---------------------------------------------------------------------------------------- | ----------------------------- | ------------------------------------------------------------------------------------------------------------------ |
| HTTP, automatico | Aggiunge solo il CNAME                                                                   | No                            | Il più semplice. Cloudflare lo suggerisce quando i clienti "possono tollerare qualche minuto di downtime".         |
| HTTP, manuale    | Niente se il dominio punta già a te; altrimenti pubblica il tuo token sul server attuale | Sì                            | Utile quando il dominio è attivo presso un altro provider.                                                         |
| TXT              | Aggiunge un record TXT che gli fornisci                                                  | Sì                            | Obbligatorio per gli hostname wildcard.                                                                            |
| Delegated DCV    | Aggiunge una sola volta un CNAME \_acme-challenge                                        | Sì                            | Permette a Cloudflare di rinnovare tutti i certificati futuri. Un record TXT \_acme-challenge esistente lo blocca. |

La validazione non aspetta all'infinito. Cloudflare ritenta la validazione dell'hostname 75 volte in sette giorni e, secondo il suo [programma di backoff](https://developers.cloudflare.com/cloudflare-for-platforms/cloudflare-for-saas/domain-support/hostname-validation/backoff-schedule/), "se la validazione non riesce, il custom hostname verrà eliminato". Anche i token dei certificati scadono: dopo 7 giorni con Let's Encrypt e dopo 14 giorni con Google Trust Services o SSL.com.

## Quanto costa, a ottobre 2026

|                                               | Free   | Pro    | Business | Enterprise                                    |
| --------------------------------------------- | ------ | ------ | -------- | --------------------------------------------- |
| Hostname inclusi                              | 100    | 100    | 100      | Personalizzato                                |
| Prezzo per hostname aggiuntivo                | $0.10  | $0.10  | $0.10    | Personalizzato                                |
| Hostname massimi                              | 50,000 | 50,000 | 50,000   | Illimitati (oltre 50.000 contatta le vendite) |
| Custom hostname wildcard                      | No     | No     | No       | Sì                                            |
| Certificati personalizzati e CA selezionabile | No     | No     | No       | Sì                                            |
| Apex proxying / BYOIP                         | No     | No     | No       | Add-on a pagamento                            |
| Metadati personalizzati                       | No     | No     | No       | Add-on a pagamento                            |

La pagina dei piani riporta 0,10 $ senza indicare il periodo. L'[annuncio del 2022](https://blog.cloudflare.com/waf-for-saas/) di Cloudflare lo descriveva come una riduzione del prezzo "da 2 $ a 0,10 $ al mese". Con quella tariffa mensile, 1.000 domini dei clienti significano 900 oltre i 100 inclusi, cioè 90 $ al mese.

Due regole di fatturazione contano per la progettazione del prodotto. Secondo la [pagina su quote e fatturazione](https://developers.cloudflare.com/cloudflare-for-platforms/cloudflare-for-saas/quotas-and-billing/) di Cloudflare, ogni hostname viene conteggiato finché non lo elimini, compresi gli "hostname in attesa di validazione o attivazione". Inoltre i piani non Enterprise hanno una soglia di applicazione via API oltre la quale i nuovi hostname vengono rifiutati.

## Dove si inceppa

### Domini apex

La guida alla configurazione di Cloudflare è esplicita: "Per impostazione predefinita, usare un record A per puntare al target non è una configurazione supportata". La maggior parte dei provider DNS non consente un CNAME alla radice di un dominio, quindi i clienti devono usare un sottodominio come `www.customer.com` o `app.customer.com`. L'[apex proxying](https://developers.cloudflare.com/cloudflare-for-platforms/cloudflare-for-saas/start/advanced-settings/apex-proxying/) assegna al tuo account prefissi IP statici così i clienti possono usare un record A, ma è un add-on Enterprise con un costo a parte. Senza, chiedi ai clienti un sottodominio e spiega come inoltrare il dominio nudo verso di esso dal loro provider DNS.

### Certification authority e record CAA

Il [riferimento sulle certification authority](https://developers.cloudflare.com/ssl/reference/certificate-authorities/) di Cloudflare elenca Let's Encrypt (certificati da 90 giorni), Google Trust Services e SSL.com (14, 30 o 90 giorni) per i custom hostname. Scegliere la CA è solo Enterprise; altrimenti Cloudflare usa quella predefinita e controlla prima i record CAA. Se i record CAA del cliente non consentono quella CA, l'emissione fallisce con "CAA records block issuance" e solo il cliente può risolvere. Le ricerche CAA seguono le catene di CNAME, quindi contano anche i record CAA del tuo dominio target. La [guida alla risoluzione dei problemi](https://developers.cloudflare.com/cloudflare-for-platforms/cloudflare-for-saas/security/certificate-management/issue-and-validate/validate-certificates/troubleshooting/) elenca gli altri errori lato cliente: DNSSEC non funzionante e server DNS che rispondono SERVFAIL.

### Rinnovi

I certificati dei custom hostname durano 90 giorni e possono essere [rinnovati](https://developers.cloudflare.com/cloudflare-for-platforms/cloudflare-for-saas/security/certificate-management/issue-and-validate/renew-certificates/) 30 giorni prima della scadenza. Gli hostname attivi non wildcard si rinnovano automaticamente via HTTP. Se un hostname non è più attivo, ad esempio perché il cliente ha cambiato il DNS, il cliente deve inserire un nuovo token e sta a te inviarglielo. I wildcard si possono rinnovare solo tramite TXT, ed è ciò che Delegated DCV automatizza.

### Clienti con un'altra CDN o su Cloudflare

Cloudflare dichiara che i [custom hostname che usano un'altra CDN non sono compatibili](https://developers.cloudflare.com/cloudflare-for-platforms/cloudflare-for-saas/domain-support/hostname-validation/) quando quella CDN nasconde i record DNS. I clienti con domini su Cloudflare pongono il problema opposto: se se ne vanno e tu non [elimini il loro hostname](https://developers.cloudflare.com/cloudflare-for-platforms/cloudflare-for-saas/domain-support/remove-custom-hostnames/), può continuare a instradare verso il tuo servizio anche dopo che hanno cambiato DNS.

### Worker davanti ai percorsi di validazione

Se un Worker è la tua origine di fallback, deve lasciar passare invariati `/.well-known/pki-validation/*` e `/.well-known/acme-challenge/*`. Una route catch-all che risponde con la pagina 404 della tua app interrompe la validazione HTTP.

## Il lavoro di prodotto intorno

- **Controllo dei piani.** Decidi quali dei tuoi piani includono domini personalizzati e quanti, e verificalo prima di chiamare Cloudflare. Quota e soglia di Cloudflare sono tetti massimi, non il tuo listino.
- **Schermata di onboarding.** Un solo campo. Converti in minuscolo, rimuovi protocollo e percorso, rifiuta i domini apex nudi a meno che tu non abbia acquistato l'apex proxying e rifiuta il nome della tua zona, che secondo Cloudflare non va mai creato come custom hostname. Poi mostra il record esatto da aggiungere, con un pulsante per copiarlo.
- **Due stati in linguaggio semplice.** Hostname e certificato si validano separatamente, quindi mostra entrambi. Traduci `ssl.validation_errors` in istruzioni: "I record CAA del tuo dominio non consentono la nostra certification authority; aggiungi questo record" è meglio di "pending\_validation". La risposta di creazione potrebbe non includere ancora i record di validazione, quindi richiedi di nuovo l'hostname dopo una breve attesa. Le [notifiche webhook](https://developers.cloudflare.com/cloudflare-for-platforms/cloudflare-for-saas/security/certificate-management/webhook-definitions/) di Cloudflare segnalano gli eventi di validazione ed emissione, meglio del polling.
- **Monitoraggio dei rinnovi.** Un job giornaliero che segnala gli hostname con certificato non attivo o con DNS che non punta più a te, così il tuo team lo sa prima del cliente.
- **Pulizia.** Elimina gli hostname che non si validano mai e quelli dei clienti che se ne vanno. Entrambi vengono fatturati finché non li elimini.
- **Isolamento dei tenant.** Individua il tenant solo dagli hostname attivi nel tuo database. Se i tenant ricevono anche sottodomini del tuo dominio, la [documentazione sui domini](https://vercel.com/docs/platforms/multi-tenant-platforms/configuring-domains) di Vercel segnala che un cookie impostato da un tenant sul dominio padre raggiunge anche gli altri, quindi tieni dashboard e login su un dominio separato.
- **Playbook di supporto.** Una breve pagina per il tuo team che associa ogni errore a chi lo risolve: CNAME mancante, CAA, DNSSEC e SERVFAIL spettano al cliente; token, rate limit della CA e route del Worker spettano a te.

È il tipo di lavoro che Dardo svolge nello [sviluppo di web app](https://dardo.studio/it/servizi/sviluppo-web-app/), e i [portali clienti](https://dardo.studio/it/servizi/sviluppo-portale-clienti/) in white label sono il contesto in cui i domini personalizzati vengono richiesti più spesso.

## Alternative: Vercel e Netlify

Se la tua app gira già altrove, entrambi gli host gestiscono i domini dei clienti, con limiti propri documentati a ottobre 2026.

|                  | Cloudflare for SaaS                                                    | Vercel                                                                                                                               | Netlify                                                                                                                                                   |
| ---------------- | ---------------------------------------------------------------------- | ------------------------------------------------------------------------------------------------------------------------------------ | --------------------------------------------------------------------------------------------------------------------------------------------------------- |
| Limiti di domini | 100 inclusi, fino a 50.000 su Free, Pro e Business                     | [50 per progetto](https://vercel.com/docs/limits) su Hobby; "Unlimited" su Pro ed Enterprise, con limiti soft di 100.000 e 1.000.000 | "Consigliamo di assegnare non più di [50 alias di dominio](https://docs.netlify.com/manage/domains/configure-domains/add-a-domain-alias/) a un sito"      |
| Domini apex      | Add-on Enterprise                                                      | [Record A](https://vercel.com/kb/guide/a-record-and-caa-with-vercel) verso il valore indicato nella scheda del dominio del progetto  | [ALIAS, ANAME o CNAME flattening](https://docs.netlify.com/manage/domains/configure-domains/configure-external-dns/), oppure un record A come alternativa |
| Certificati      | Automatici, due per hostname; certificati personalizzati su Enterprise | Automatici dopo la verifica del dominio; certificati personalizzati su Enterprise                                                    | [Let's Encrypt automatico](https://docs.netlify.com/manage/domains/secure-domains-with-https/https-ssl/); certificati personalizzati rinnovati a mano     |
| Wildcard         | Enterprise                                                             | Richiedono i nameserver di Vercel o un \_acme-challenge delegato                                                                     | Automatici per i domini su Netlify DNS                                                                                                                    |
| Pensato per      | Molti domini di clienti su una sola zona                               | [Piattaforme multi-tenant](https://vercel.com/docs/platforms/multi-tenant-platforms/limits) con API REST e SDK                       | Al massimo qualche decina di domini per sito                                                                                                              |

Il supporto apex di Vercel è la differenza più netta: i clienti possono puntarvi un dominio nudo con un record A. Nota che il piano Hobby è limitato a "uso personale e non commerciale" secondo le [linee guida sul fair use](https://vercel.com/docs/plans/hobby) di Vercel, quindi un SaaS a pagamento parte dal piano Pro. La raccomandazione di Netlify di 50 alias rende questa piattaforma poco adatta a un singolo deployment che serve centinaia di domini di clienti.

## Quando costruirlo

Se te lo chiedono due o tre clienti, aggiungi i loro hostname dalla dashboard di Cloudflare e tieni una checklist. Costruisci il flusso self-service quando i domini personalizzati diventano parte di un piano che vendi o di un'offerta white label. Se i clienti hanno bisogno di domini apex nudi o di wildcard su larga scala, parla con Cloudflare di Enterprise prima di progettare intorno ai limiti.

Se vuoi quel flusso integrato nel tuo prodotto, con stati, avvisi e note di supporto descritti sopra, [raccontaci della tua app](https://dardo.studio/it/contatti/).

[Nicolás Cerón](https://dardo.studio/it/studio/)

Nicolás Cerón è il fondatore di Dardo, studio di brand, web design e sviluppo web a Bogotá, in Colombia.

## Continua a esplorare.

- [Servizio · **Sviluppo di web app, SaaS e MVP**](https://dardo.studio/it/servizi/sviluppo-web-app/)

- [Il tuo progetto · **Iniziamo a parlarne**](https://dardo.studio/it/contatti/)
