Hai creato un sito web con l'IA e funziona perfettamente, sul tuo computer. La barra degli indirizzi mostra localhost:3000, o magari una sequenza di numeri come 203.0.113.10. Mandi il link a un amico e non si apre.
Non è un bug. È la distanza tra far funzionare un sito web e pubblicarlo, e il pezzo mancante è quasi sempre un nome di dominio. Questa guida spiega la differenza tra gli indirizzi che forse usi oggi, perché la maggior parte non può essere l'indirizzo vero del tuo sito e come passare a un dominio vero su qualsiasi tipo di hosting.
In questa guida
I quattro tipi di indirizzo
Un sito web si può raggiungere in quattro modi diversi. Sembrano simili, ma funzionano in modo molto diverso.
| Tipo di indirizzo | Esempio | Chi può aprirlo |
|---|---|---|
| localhost | http://localhost:3000 | Solo il computer su cui gira |
| IP di rete locale | http://192.168.1.20 | I dispositivi sullo stesso Wi-Fi o router |
| IP del server | http://203.0.113.10 | Chiunque sia online, ma vedi sotto |
| Nome di dominio | https://mysite.com | Chiunque, ovunque |
I numeri in questa guida sono esempi. 203.0.113.x è un intervallo riservato agli esempi, quindi non punta mai a un server reale.
Perché localhost funziona solo per te
localhost (scritto anche 127.0.0.1) significa «questa stessa macchina». Quando lo digiti, il tuo computer parla con se stesso. Quando il tuo amico digita lo stesso indirizzo, è il suo computer a parlare con se stesso, a non trovare nulla e a mostrare un errore. La parola significa qualcosa di diverso su ogni dispositivo.
Gli indirizzi che iniziano con 192.168., 10. o da 172.16. a 172.31. sono la stessa cosa su scala più ampia. Sono indirizzi privati usati dentro case e uffici. Chi è sul tuo Wi-Fi può aprirli, ma nessuno su internet può farlo.
Far girare un sito in locale è il modo giusto per costruirlo. Il problema comincia quando è l'unico posto in cui esiste. Inoltre il tuo sito è online solo finché il computer è acceso e l'applicazione è in esecuzione.
Perché l'IP di un server non è un indirizzo vero
Quando il tuo sito gira su un server vero, che sia hosting condiviso, un VPS o una macchina cloud, puoi aprirlo con l'indirizzo IP del server. Alcune persone si fermano lì. Questo causa diversi problemi:
- Il server potrebbe non sapere quale sito mostrare. Lo stesso IP spesso serve molti siti web, e il server decide quale mostrare in base al nome di dominio contenuto nella richiesta. Se apri l'IP nudo, puoi ottenere una pagina predefinita, un errore o il sito di qualcun altro.
- Niente HTTPS vero. L'HTTPS si configura normalmente per un nome di dominio, e un IP nudo di solito non può ottenere il certificato gratuito standard. Senza HTTPS, i browser mostrano «Non sicuro», e tutto ciò che i visitatori digitano, come password e dati dei moduli, viaggia in forma leggibile.
- Si rompe quando cambi. L'IP appartiene al server. Se cambi hosting o piano, il numero cambia e tutti i link che hai condiviso smettono di funzionare. Con un dominio, basta puntarlo al nuovo server.
- Le persone e i filtri non si fidano. Molti filtri antispam e strumenti di sicurezza considerano sospetti i link fatti solo di numeri, e i visitatori non riescono né a ricordarli né a riconoscerli.
- Niente e-mail professionale. Un indirizzo come
hello@mysite.comrichiede un dominio. - Copie duplicate per i motori di ricerca. Se il tuo sito risponde sia sull'IP sia sul dominio, i motori di ricerca possono vedere due copie di ogni pagina.
Che cos'è davvero un dominio
I computer si trovano usando numeri IP. Un nome di dominio è un'etichetta comprensibile per quel numero, e un sistema chiamato DNS funziona come l'elenco telefonico di internet: gli dai un nome e ti restituisce il numero.
Sono coinvolte tre parti:
- Il registrar: l'azienda presso cui registri il dominio. Non compri un dominio per sempre. Lo affitti, di solito un anno alla volta, e lo rinnovi.
- Il DNS: conserva i record che dicono a quale server punta il tuo dominio.
- Il tuo hosting: dove si trovano i file del tuo sito web.
Metti il tuo sito sul tuo dominio
I passaggi seguono la stessa idea su ogni hosting. Cambiano solo i pulsanti e i nomi dei menu.
1. Scopri dove si trova il tuo sito
A cosa puntare il dominio dipende dal tuo tipo di hosting:
| Dove si trova il tuo sito | Cosa ti dà il tuo hosting | Record abituale |
|---|---|---|
| Hosting condiviso | Un indirizzo IP del server | Record A verso quell'IP |
| VPS o server cloud | Un indirizzo IP del server | Record A verso quell'IP |
| Piattaforma per siti (come Vercel, Netlify o Render) | Un hostname a cui puntare e, a volte, degli IP | CNAME o A, come indica la piattaforma |
Segui sempre le istruzioni del tuo hosting per i valori esatti. Si trovano nel suo pannello o nella documentazione, e spesso nell'e-mail di benvenuto.
2. Punta il dominio al tuo hosting
Puoi farlo in due modi. Scegline uno, non entrambi.
- Opzione A: cambiare i nameserver. Presso il tuo registrar, sostituisci i nameserver del dominio con quelli forniti dal tuo hosting. Da quel momento gestisci tutti i record nel pannello dell'hosting.
- Opzione B: lasciare il DNS dov'è (presso il registrar o in un servizio come Cloudflare) e aggiungere lì i record: un record A che invia il dominio all'IP del tuo server e un record CNAME perché
wwwlo segua.
Trappola comune: i record contano solo dove il DNS del tuo dominio è effettivamente ospitato. Se hai cambiato i nameserver con quelli del tuo hosting (Opzione A), i record che aggiungi presso il registrar vengono ignorati, e viceversa.
3. Fai conoscere il dominio al tuo hosting
Puntare il dominio a un server non basta. Il server deve anche sapere quale sito appartiene a quel nome. Ogni hosting ha un posto per questo: una pagina Domini sull'hosting condiviso (quella di cPanel ne è un esempio), una riga server_name nelle impostazioni del web server sul tuo server, oppure una scheda Domini nelle impostazioni del progetto di una piattaforma. Se salti questo passaggio, il tuo dominio raggiunge il server ma mostra una pagina predefinita.
4. Aspetta che il DNS si propaghi
Si chiama propagazione. Può richiedere da pochi minuti a un giorno o due, anche se spesso è rapida. Finché non finisce, il dominio può non funzionare o mostrare una vecchia pagina ad alcune persone.
5. Attiva l'HTTPS
La maggior parte delle piattaforme e molti hosting installano automaticamente un certificato gratuito non appena il tuo dominio punta a loro. Sul tuo server puoi usare un servizio di certificati gratuiti come Let's Encrypt con lo strumento Certbot. In entrambi i casi, il dominio deve già puntare al server. Quando hai finito, imposta il sito per reindirizzare tutte le visite da http a https.
6. Scegli una sola versione del tuo indirizzo
mysite.com e www.mysite.com contano come due indirizzi diversi. Scegline uno come principale e reindirizza l'altro verso di esso. Le piattaforme di solito hanno un'impostazione per questo. Su un server Apache, queste regole fanno il lavoro (mettile nel file .htaccess del sito). La prima invia www al dominio senza www, e la seconda invia al tuo dominio chiunque arrivi tramite l'IP nudo del server:
RewriteEngine On
RewriteCond %{HTTP_HOST} ^www\.mysite\.com$ [NC]
RewriteRule ^(.*)$ https://mysite.com/$1 [L,R=301]
RewriteCond %{HTTP_HOST} ^203\.0\.113\.10$
RewriteRule ^(.*)$ https://mysite.com/$1 [L,R=301]
Sostituisci il dominio e l'IP di esempio con i tuoi. Su Nginx o un altro server l'idea è la stessa, ma la sintassi è diversa, quindi consulta la sua documentazione.
Correggi gli indirizzi nascosti nel tuo codice
Il codice scritto dall'IA spesso ha localhost scritto dentro. Su un sito online questo rompe le cose in modo confuso. Il browser di un visitatore interpreta localhost come il proprio computer, quindi la tua pagina prova a caricare dati da una macchina che non ha nulla a che fare con il tuo sito.
Sbagliato:
fetch("http://localhost:3000/api/products")
Giusto (funziona ovunque):
fetch("/api/products")
Cerca in tutto il tuo progetto localhost, 127.0.0.1, 192.168 e qualsiasi IP che hai usato. Poi controlla questi punti:
- Impostazioni dell'URL del sito: valori come
APP_URLoBASE_URLdevono usare il tuo dominio vero, conhttps. - Servizi di accesso e di pagamento: l'accesso con Google, i gateway di pagamento e servizi simili richiedono il tuo dominio vero nei loro pannelli, come indirizzo di reindirizzamento (callback) consentito. I webhook di pagamento non possono raggiungere
localhostin alcun modo, perché i server del gateway hanno bisogno di un indirizzo HTTPS pubblico. - Origini consentite (CORS): se il tuo codice elenca indirizzi consentiti, sostituisci
localhostcon il tuo dominio. - Sitemap e tag canonical: devono mostrare il dominio, non un IP né un indirizzo locale.
Un'eccezione: l'indirizzo del database dipende dalla tua configurazione. In molti hosting il database gira sullo stesso server del tuo sito, quindi lì localhost è corretto. Con database cloud o gestiti, il tuo provider ti dà un indirizzo separato da usare. Non lasciare mai un database aperto a tutto internet.
Problemi comuni
- «Impossibile raggiungere questo sito» subito dopo la configurazione: il DNS potrebbe non essersi ancora propagato, oppure un record è sbagliato. Aspetta, poi controlla i record.
- Il dominio mostra la pagina predefinita del tuo hosting: il dominio raggiunge il tuo server, ma il server non sa che il sito gli appartiene. Aggiungi il dominio nelle impostazioni del tuo hosting.
- Mostra un vecchio sito o quello di qualcun altro: un vecchio record o la cache del browser. Prova una finestra privata, oppure un'altra rete.
- «Non sicuro» o un errore di certificato: il certificato non è ancora stato emesso, oppure il dominio non punta ancora al tuo hosting.
- Funziona con
wwwma non senza (o viceversa): manca un record. Aggiungi il CNAME perwww. - Usare uno strumento di tunnel per una demo: strumenti come ngrok o Cloudflare Tunnel vanno bene per una prova rapida, ma non sono hosting.
- Aprire il router di casa a internet (port forwarding): evitalo. Espone la tua rete domestica, e gli IP di casa spesso cambiano.
Proteggi il tuo dominio
Il tuo dominio è l'indirizzo più prezioso che possiedi, quindi proteggilo:
- Attiva il rinnovo automatico. Un dominio scaduto può essere registrato da qualcun altro.
- Usa una password forte e unica e l'autenticazione a due fattori sul tuo account presso il registrar.
- Attiva il blocco del registrar, che impedisce il trasferimento del dominio senza la tua approvazione.
- Tieni aggiornata la tua e-mail di contatto, perché gli avvisi di rinnovo e di sicurezza arrivano lì.
L'autoverifica di 2 minuti
- Apri
http://IP-DEL-TUO-SERVER. Non dovrebbe mostrare il tuo sito (o dovrebbe portarti al tuo dominio). - Apri
http://mysite.com. Dovrebbe finire suhttps://mysite.comcon un lucchetto. - Apri la versione con
www. Dovrebbe finire allo stesso indirizzo finale. - Cerca nel tuo progetto
localhoste qualsiasi numero IP. - In un terminale, esegui
nslookup mysite.com. La risposta dovrebbe mostrare l'IP del tuo hosting (o, su una piattaforma, indicare i suoi server).
La lista rapida
- Usa
localhostsolo per costruire, mai come tuo indirizzo - Registra un dominio e attiva il rinnovo automatico e l'autenticazione a due fattori
- Puntalo al tuo hosting con i nameserver (Opzione A) o con i record A e CNAME (Opzione B), non entrambi
- Aggiungi il dominio nelle impostazioni dell'hosting così il server sa a quale sito appartiene
- Aspetta che il DNS si propaghi, poi attiva l'HTTPS
- Scegli una versione (con o senza
www) e reindirizza l'altra - Sostituisci ogni
localhoste IP nel tuo codice e aggiorna i pannelli di accesso e di pagamento - Impedisci al sito di rispondere sull'IP nudo del server
Un dominio è ciò che trasforma «funziona sul mio computer» in «chiunque può visitarlo». Configuralo una volta, come si deve, e tutti i link che condividerai continueranno a funzionare, anche se più avanti cambierai hosting.
