# Domini e SSL gratuito con Let's Encrypt per il tuo sito

> Aggiungi domini e alias, imposta i redirect www, configura il DNS a mano o in automatico con un'integrazione DNS e attiva HTTPS con Let's Encrypt gratuito.

La pagina **Domini e SSL** di un sito gestisce i nomi a cui risponde il sito e i certificati che usa per HTTPS. Un sito ha un dominio primario, può avere un numero qualsiasi di alias e può essere raggiunto anche su un indirizzo gratuito generato su `on-deploy.link`.

Quando un'[integrazione](https://ops.vimonto.com/docs/it/connections/integrations) collegata gestisce il DNS del dominio, Vimonto Deploy può creare i record DNS per te e richiedere HTTPS da solo. Per HTTPS, richiedi un certificato Let's Encrypt gratuito in pochi clic; si rinnova automaticamente. Puoi anche installare un certificato che hai acquistato, oppure creare una richiesta di firma del certificato per la tua autorità di certificazione.

![La pagina Domini e SSL con l'indirizzo generato, i domini del sito e i suoi certificati](https://ops.vimonto.com/docs-media/it/site-domains.webp?v=161e760d "I domini e i certificati di un sito")

## L'indirizzo on-deploy.link generato

Ogni sito può avere un indirizzo come `kalme-rivier-4821.on-deploy.link`. Vimonto Deploy ne crea il record DNS per te, quindi funziona subito senza alcun DNS tuo: comodo per provare un sito prima che vada online o per condividere un'anteprima.

L'indirizzo si sceglie quando [crei il sito](https://ops.vimonto.com/docs/it/sites/create-a-site#dominio-o-indirizzo-generato). Un sito creato su questo indirizzo riceve HTTPS da solo: come ultimo passaggio della configurazione, Vimonto Deploy aspetta che il nuovo record DNS punti al server e poi richiede un certificato Let's Encrypt. Un sito creato con un tuo dominio salta questo passaggio. Se lasci che un'integrazione DNS faccia puntare quel dominio, riceve HTTPS allo stesso modo appena i suoi record si risolvono (vedi [più avanti](#fai-puntare-il-dominio-automaticamente-tramite-integrazione-dns)); altrimenti richiedi tu il suo certificato quando il DNS punta al server, come descritto più avanti.

Nella pagina Domini e SSL, in **Indirizzo on-deploy.link**, puoi:

- **Disattiva** l'indirizzo. Il sito è allora raggiungibile solo sui suoi domini e il record DNS viene eliminato.
- **Attiva** di nuovo un indirizzo per un sito che non ne ha. Un nuovo indirizzo riceve un nome diverso.

Un sito il cui unico nome è l'indirizzo generato non può disattivarlo: aggiungi prima un tuo dominio, così il sito mantiene sempre almeno un nome.

## Aggiungi un dominio

1. Clicca su **Aggiungi dominio**.
2. Inserisci il **Dominio**, per esempio `shop.example.com`.
3. Scegli le opzioni **Wildcard** e **Redirect** (vedi sotto).
4. Se vuoi, attiva **Usa come dominio primario**.
5. In **DNS**, scegli come il dominio riceve i suoi record DNS, se hai integrazioni DNS (vedi [più avanti](#fai-puntare-il-dominio-automaticamente-tramite-integrazione-dns)).
6. Clicca su **Aggiungi dominio**.

Il primo dominio tuo diventa il dominio primario e sostituisce l'indirizzo generato (che continua a funzionare in parallelo). I domini successivi diventano alias, a meno che tu non attivi **Usa come dominio primario**; il dominio primario precedente resta allora come alias.

Dopo che hai aggiunto un dominio, Vimonto Deploy riscrive la configurazione Nginx del sito, la verifica con `nginx -t` e ricarica Nginx. Se gestisci tu il DNS, si apre poi la finestra **Configura** con i record DNS da creare. Se un'integrazione DNS fa puntare il dominio, se ne occupa invece un task.

### Wildcard

- **Off**: solo il dominio stesso, come `shop.example.com`.
- **On**: anche tutti i sottodomini, come `blog.shop.example.com`. Nginx risponde allora anche a `*.shop.example.com`.

### Redirect tra www e il dominio senza www

| Opzione | Cosa succede |
|---|---|
| **Redirect da www.** (consigliato) | `www.example.com` manda i visitatori a `example.com`. |
| **Redirect a www.** | `example.com` manda i visitatori a `www.example.com`, che serve il sito. |
| **Nessun redirect** | Solo il dominio stesso; `www.` non è incluso. |

I redirect sono permanenti (`301`) e mantengono il percorso e la query string. Puoi cambiare queste opzioni in seguito con **Modifica** nel menu del dominio.

### Cambia il dominio primario o rimuovi un dominio

Il menu di ogni dominio contiene:

- **Mostra i passaggi**: i record DNS e lo stato HTTPS di quel dominio.
- **Modifica**: cambia le opzioni wildcard e redirect.
- **Rendi primario**: trasforma un alias nel dominio primario.
- **Elimina**: smetti di rispondere su quel dominio. Quando rimuovi il dominio primario, subentra il primo alias, oppure l'indirizzo generato. I record DNS che Vimonto Deploy ha creato per il dominio presso un account collegato vengono rimossi insieme a esso, e la conferma li elenca; gli altri record li rimuovi tu presso il tuo provider DNS.

Il dominio primario è quello mostrato nell'intestazione del sito e usato per i link del sito. La directory del sito sul server non cambia quando cambia il dominio primario.

## Fai puntare il dominio al server con il DNS

> [!TIP]
> Hai un'integrazione DNS? Allora salti questo passaggio: Vimonto Deploy crea i record per te. Vedi [far puntare il dominio automaticamente](#fai-puntare-il-dominio-automaticamente-tramite-integrazione-dns).

Un dominio raggiunge il tuo sito solo quando il suo DNS punta al tuo server. Crea i record presso il tuo provider DNS (dove è gestito il dominio):

| Tipo | Nome | Valore | Quando |
|---|---|---|---|
| A | `shop.example.com` | l'indirizzo IP del server | sempre |
| CNAME | `www.shop.example.com` | `shop.example.com` | con un redirect www. |
| A | `*.shop.example.com` | l'indirizzo IP del server | con le wildcard attive |

La finestra **Configura** elenca esattamente questi record per un dominio, con **Punta qui** o **Non ancora** per ciascuno, e puoi cliccare su un nome o un valore per copiarlo. I domini il cui DNS non punta ancora al server sono elencati in un avviso sopra i domini, e ogni riga di dominio indica **Punta a questo server** oppure dove punta invece. Le modifiche DNS possono impiegare qualche minuto per propagarsi.

> [!NOTE]
> Dietro un proxy come quello di Cloudflare, un dominio si risolve nel proxy e non nel tuo server, quindi risulta puntare altrove. Il sito può comunque funzionare, e Let's Encrypt può comunque emettere un certificato purché il proxy lasci passare le richieste HTTP semplici.

### Domini dietro un load balancer

Con il [bilanciamento del carico](https://ops.vimonto.com/docs/it/sites/load-balancing), il dominio punta al load balancer, non agli app server. Aggiungi il dominio al sito sul load balancer e al sito su ogni app server, ma crea i record DNS per l'indirizzo IP del load balancer e attiva HTTPS sul load balancer. Sugli app server il dominio risulta quindi puntare altrove; è normale.

## Fai puntare il dominio automaticamente tramite integrazione DNS

Quando uno dei tuoi account cloud o DNS collegati (Hetzner Cloud, DigitalOcean, Vultr, Akamai, AWS Route 53, Google Cloud DNS o Cloudflare) gestisce la zona del dominio, Vimonto Deploy può creare i record per te. Collega l'account in **Impostazioni** → [Integrazioni](https://ops.vimonto.com/docs/it/connections/integrations); la scheda dell'account mostra quali domini gestisce.

Se hai integrazioni DNS, il suggerimento sotto **Dominio** dice "Cerchiamo il dominio presso i tuoi provider DNS e impostiamo i suoi record automaticamente." Mentre digiti, Vimonto Deploy recupera in tempo reale gli elenchi dei domini dei tuoi account, così trova anche un dominio appena aggiunto presso un provider, e un riquadro **DNS** mostra se un'integrazione lo gestisce. In tal caso scegli:

- **Puntalo automaticamente con …** (l'account e la zona, per esempio `Hetzner Cloud (example.com)`): Vimonto Deploy crea i record. È la scelta predefinita.
- **Gestisco il DNS da solo**: presso il provider DNS non cambia nulla; crea tu i record come descritto sopra.

Se nessuna integrazione gestisce il dominio, il riquadro lo dice e crei tu i record, oppure aggiungi il dominio a uno dei tuoi provider DNS (vedi sotto).

### Aggiungi il dominio a un provider DNS

Quando nessuno dei tuoi account ha ancora il dominio, ma hai integrazioni DNS, il riquadro offre **Aggiungi il dominio a un provider DNS**. Attivalo e scegli:

- **Provider**: l'account collegato a cui aggiungerlo (Hetzner Cloud, DigitalOcean, Vultr, Akamai, AWS, Google Cloud o Cloudflare).
- **Zona**: il dominio da creare lì. Per impostazione predefinita è il dominio senza il sottodominio, come `example.com` per `shop.example.com`; deve essere il dominio stesso o un dominio con cui termina.

Il riquadro mostra poi i record che creerà, tutti **Nuovo**. Quando clicchi su **Aggiungi dominio**, il task aggiunge prima la zona presso il provider (**Aggiungi … a …**), poi crea i record e nel suo output elenca i nameserver da impostare per la zona presso il tuo registrar. Finché non cambi i nameserver presso il registrar, il provider non risponde per il dominio; HTTPS arriva quando il DNS si risolve.

> [!NOTE]
> Su Cloudflare, creare una zona richiede **Zone** → **Zone** → **Edit** sul token, e un token che raggiunga un solo account Cloudflare. Altrimenti aggiungi tu il dominio in Cloudflare e scegli **Aggiorna i domini** sull'account.

### Controlla il piano prima che cambi qualcosa

Con **Puntalo automaticamente**, il riquadro elenca ogni record di cui il dominio ha bisogno, con cosa gli succederà:

| Etichetta | Significato |
| --- | --- |
| **Nuovo** | Il record non esiste ancora e viene creato. |
| **Già corretto** | Il record punta già a questo server; non cambia nulla. |
| **Modifiche** | Un record esiste e viene modificato, oppure qualcosa viene rimosso per fare spazio. |

I record sono gli stessi di quando lo fai a mano: un record A per il dominio verso l'indirizzo IPv4 del server, `www.` come CNAME verso il dominio quando un redirect www è attivo, e un record A per `*.` con le wildcard attive. Sotto un record che cambia, il riquadro ti avvisa di cosa significa:

- a cosa punta ora il nome, che smette di funzionare (per esempio un sito presso un altro host);
- un record **AAAA** che viene rimosso, perché altrimenti i visitatori IPv6 andrebbero al vecchio indirizzo;
- un record in conflitto che viene rimosso per fare spazio, come un CNAME sullo stesso nome;
- su Cloudflare, che il proxy viene disattivato per questo nome, così HTTPS e gli indirizzi dei visitatori funzionano.

Quando cambiano record esistenti, spunta **Modifica questi record** prima di cliccare su **Aggiungi dominio**. Senza, non viene salvato nulla. Vimonto Deploy controlla di nuovo i record quando clicchi, così il piano che applica è quello che hai visto.

### Cosa succede dopo

Un task, **Far puntare … a …**, viene eseguito nella pagina [Attività](https://ops.vimonto.com/docs/it/organization/activity):

1. **Aggiorna il DNS su …**: i record vengono creati o modificati esattamente come mostrava il piano. I record su Cloudflare vengono creati solo DNS (senza proxy).
2. **Richiedi HTTPS**: viene richiesto un certificato Let's Encrypt per il nuovo dominio (e per i nomi già presenti nel certificato attivo). Quel task aspetta prima che il nome si risolva verso il server, al massimo 10 minuti, poi richiede il certificato e passa il sito a HTTPS.

I nomi wildcard non vengono inseriti nel certificato, perché Let's Encrypt li emette solo con una challenge DNS. Se il nome non si risolve entro 10 minuti, il task del certificato fallisce con un messaggio; i record sono a posto, quindi richiedi un certificato più tardi in **Certificati**.

> [!NOTE]
> Il server ha bisogno di un indirizzo IPv4 pubblico a cui puntare. Senza, il riquadro DNS mostra un errore e gestisci tu il DNS.

### Quali record rimuove Vimonto Deploy?

Vimonto Deploy ricorda ogni record DNS che crea presso un account collegato, con il sito, il dominio e il suo scopo: il dominio, `www.`, una wildcard o l'indirizzo WebSocket di [Reverb](https://ops.vimonto.com/docs/it/sites/site-features#reverb). Rimuove sempre e solo quelli:

- **Elimina** un dominio: vengono rimossi esattamente i record creati per quel dominio. La conferma li elenca.
- Elimini il sito: vengono rimossi tutti i suoi record, nel passaggio **Rimuovi i record DNS**. Vedi [impostazioni del sito](https://ops.vimonto.com/docs/it/sites/site-settings#eliminare-un-sito).
- Disattivi Reverb: viene rimosso il suo record WebSocket.

Un record che punta già altrove e che Vimonto Deploy non ha creato non viene mai sovrascritto da una funzionalità come Reverb: il task ti dice di modificarlo tu. Solo l'aggiunta di un dominio modifica record esistenti, dopo che hai spuntato **Modifica questi record**.

## Attiva HTTPS con un certificato Let's Encrypt gratuito

1. Assicurati che i tuoi domini puntino al server.
2. In **Certificati**, clicca su **Aggiungi**, scegli **Let's Encrypt** e clicca su **Continua**.
3. Seleziona i domini da includere. Per ciascuno è indicato se punta a questo server.
4. Clicca su **Richiedi**.

Vimonto Deploy installa certbot se serve e richiede il certificato con la challenge webroot: Let's Encrypt scarica un file via `http://` da `/.well-known/acme-challenge/`, che ogni sito serve da `/var/www/letsencrypt`. Non serve fermare nulla, e la protezione con password non blocca la challenge.

Una volta emesso il certificato, il sito passa a HTTPS:

- Nginx ascolta sulla porta 443 con HTTP/2, TLS 1.2 e 1.3, e invia un header `Strict-Transport-Security`.
- Le richieste `http://` semplici vengono reindirizzate a `https://`.
- L'intestazione del sito mostra **HTTPS**, e ogni dominio del certificato mostra **HTTPS** nell'elenco.

I certificati Let's Encrypt mostrano **si rinnova automaticamente**. Il timer di certbot sul server li rinnova prima della scadenza e ricarica Nginx.

> [!WARNING]
> Let's Encrypt emette il certificato solo quando ogni dominio selezionato punta a questo server. Se una richiesta fallisce, controlla i record DNS, deseleziona i domini che non puntano ancora qui e richiedi di nuovo. I nomi wildcard non si possono includere in questo modo.

### Dopo aver aggiunto un dominio

Un certificato copre i nomi per cui è stato emesso. Quando aggiungi un dominio a un sito che ha già HTTPS, Vimonto Deploy te lo ricorda con **Richiedi un nuovo certificato**: richiedi un nuovo certificato Let's Encrypt che includa il nuovo nome, e questo sostituirà il vecchio come certificato attivo.

## Usa un tuo certificato

Clicca su **Aggiungi** in **Certificati** e scegli una di queste opzioni:

- **Certificato esistente**: incolla il **Certificato** in formato PEM, seguito dai certificati intermedi, e la sua **Chiave privata**. Vimonto Deploy verifica che la chiave appartenga al certificato prima che Nginx lo usi, e legge dal certificato i domini e la data di scadenza.
- **Richiesta di firma del certificato (CSR)**: scegli i domini e compila paese, stato o provincia, città, organizzazione e reparto. Vimonto Deploy crea una chiave privata (conservata cifrata) e una richiesta da inviare alla tua autorità di certificazione. Una volta firmato, scegli **Installa certificato firmato** nel menu del certificato e incollalo.
- **Clona certificato**: usa un certificato caricato per un altro sito della tua organizzazione, per esempio un certificato wildcard condiviso da più siti. I certificati Let's Encrypt non si possono clonare.

I certificati caricati mostrano **valido fino al** e la loro data di scadenza. Non si rinnovano: installane uno nuovo prima di quella data.

## Un certificato attivo per sito

Un sito può avere più certificati, ma Nginx ne serve esattamente uno: quello attivo, contrassegnato come **Attivo**. Un nuovo certificato diventa attivo appena viene installato. Nel menu di un certificato puoi:

- **Usa** un certificato installato che non è attivo.
- **Disattiva HTTPS**: il sito torna a `http://`. Il certificato resta, quindi puoi riattivare HTTPS in seguito.
- **Elimina** il certificato. Eliminare quello attivo disattiva anche HTTPS.

Se il sito ha una [configurazione Nginx personalizzata](https://ops.vimonto.com/docs/it/sites/nginx), il certificato viene installato ma non aggiunto alla configurazione: il log del task ti indica i percorsi dei file da aggiungere tu.

## Domande frequenti

### L'SSL è gratuito?

Sì. I certificati Let's Encrypt sono gratuiti e si rinnovano automaticamente. Vimonto Deploy non li fa pagare.

### Quanto ci vuole prima che il mio dominio funzioni?

La modifica di Nginx richiede pochi secondi. Le modifiche DNS presso il tuo provider di solito arrivano in pochi minuti, a volte di più. La finestra **Configura** mostra quando ogni record punta al tuo server. Con un'integrazione DNS, Vimonto Deploy aspetta fino a 10 minuti i record e poi attiva HTTPS da solo.

### Vimonto Deploy può creare i miei record DNS?

Sì, quando il dominio è gestito da un account Hetzner Cloud, DigitalOcean, Vultr, Akamai, AWS, Google Cloud o Cloudflare collegato. Collegalo nelle [integrazioni](https://ops.vimonto.com/docs/it/connections/integrations), poi aggiungi il dominio e scegli **Puntalo automaticamente con …**. I domini presso altri provider DNS li fai puntare tu.

### Posso usare l'indirizzo on-deploy.link con HTTPS?

Sì. Un sito creato sul suo indirizzo generato riceve automaticamente un certificato Let's Encrypt durante la configurazione. Altrimenti l'indirizzo generato è uno dei nomi del sito, quindi compare nell'elenco quando richiedi un certificato Let's Encrypt, e il suo record DNS punta già al tuo server.

### E se il certificato automatico non riesce?

Il sito continua a funzionare su `http://` e ricevi una [notifica](https://ops.vimonto.com/docs/it/more/notifications) che il certificato non è riuscito. Richiedine di nuovo uno in **Certificati** con **Aggiungi** e **Let's Encrypt**.

### Perché un dominio mostra "Solo HTTP"?

Il dominio non è ancora nel certificato attivo. Richiedi un nuovo certificato che lo includa.

### Posso servire più domini da un solo sito?

Sì. Aggiungi ciascuno come alias; Nginx serve il sito su tutti, con le opzioni wildcard e www. di ogni dominio. Mettili tutti in un unico certificato.
