Se lo desideri, puoi ospitare un sito Web su un sistema domestico. C'è un avvertimento, però. Alcuni provider di servizi Internet (ISP) non consentono ai propri clienti di ospitare i propri server, mentre altri lo consentono. Un ISP che non consente agli utenti domestici di ospitare i propri server può bloccare il traffico sulle porte comunemente utilizzate dai server. Ad esempio, può impedire a qualcuno di eseguire il proprio server di posta bloccando le connessioni da Internet alla porta 25 sugli indirizzi IP che assegna agli utenti domestici. Allo stesso modo potrebbe impedire a qualcuno di ospitare il proprio server Web bloccando la porta predefinita utilizzata per HTTP , la porta 80 e la porta predefinita utilizzata per HTTPS, porta 443. Qualcuno potrebbe essere in grado di aggirare un tale blocco eseguendo un server Web su una porta non standard. Ad esempio, se il server Web è stato configurato per l'ascolto delle connessioni HTTP sulla porta 7080, se è possibile fornire quel numero di porta a tutti coloro che potrebbero visitare il sito, è comunque possibile ottenere l'accesso al server. Ad esempio, invece di utilizzare http://www.example.com/sompage.html o http://10.0.0.5/somepage.html , i visitatori del sito Web potrebbero utilizzare http://www.example.com:7080/ somepage.html o http://10.0.0.5/sompage.html . Anche se anche quel traffico potrebbe essere bloccato da un ISP.
Tale soluzione potrebbe funzionare se ti aspetti che il tuo sito Web venga visitato da pochi amici, ma potrebbe essere più problematico se speri di avere un pubblico Internet in tutto il mondo per il tuo sito, poiché la maggior parte delle persone non è abituata a includere un numero di porta durante la visita un sito. Tuttavia, se stai collegando al tuo sito da altri siti, purché sia incluso il numero di porta, il collegamento funzionerebbe.
Ma supponiamo che l'ISP non ti impedisca di ospitare il tuo server web. Dovrai configurare il tuo router per inoltrare il traffico destinato alla porta HTTP predefinita e possibilmente HTTPS, se utilizzerai anche quel protocollo, all'indirizzo IP privato interno del server web sulla tua LAN (Local Area Network) . Ciò è necessario perché la maggior parte degli utenti domestici dispone di un router che esegue la traduzione dell'indirizzo di rete per le comunicazioni tra i sistemi dietro il router sul lato LAN e i sistemi sul lato "esterno", lato Internet, del router, ovvero la Wide Area Network (WAN ) . Vale a dire, hanno un indirizzo IP pubblico esterno per il router, ma potrebbero esserci più indirizzi IP privatiper sistemi dietro il router. Ad esempio, potresti avere un laptop con un indirizzo di 192.168.0.4 e un sistema desktop con un indirizzo IP di 192.168.0.5 dietro il router. Tali indirizzi IP privati non vengono instradati su Internet. Un router domestico eseguirà normalmente NAT per consentire ai sistemi esterni che vedono solo un indirizzo IP pubblico di comunicare con i sistemi dietro un router con indirizzi IP privati.
La maggior parte dei router domestici offre la possibilità di eseguire la traduzione dell'indirizzo di rete e dell'indirizzo di porta ed è generalmente abbastanza facile da configurare, devi solo sapere che devi farlo. Alcuni router potrebbero avere un'impostazione della zona demilitarizzata (DMZ) che consente di specificare che eventuali connessioni che provengono dall'esterno del router vanno a un sistema particolare all'interno del router. Se desideri che il tuo server principale sia accessibile tramite NAT / PAT, probabilmente dovrai assegnargli un indirizzo IP statico piuttosto che uno che potrebbe cambiare perché è assegnato tramite il DHCP (Dynamic Host Configuration Protocol) , in modo che il router possa sempre instradare le connessioni in entrata al sistema giusto.
Oltre a modificare l'indirizzo IP dei sistemi sul lato interno del router, se si utilizza una connessione di rete domestica, è probabile che l'ISP assegni anche l'indirizzo IP esterno del router tramite DHCP. Diciamo che è xxx.xxx.10.250. Domani potrebbe essere xxx.xxx.10.251. Dipende dal "lease time" che l'ISP utilizza per assegnare gli indirizzi IP tramite DHCP ai propri clienti. Il tempo di leasing potrebbe essere di alcune ore, alcuni giorni, un mese, ecc. Quindi, se comunichi alle persone che il tuo server web è accessibile a xxx.xxx.10.250, ogni volta che cambia dovrai dire loro il nuovo indirizzo. Tuttavia, per alcuni sistemi, anche se il tuo ISP potrebbe non fornirti un indirizzo IP statico, ma invece fornirne uno dinamico, potrebbe rimanere lo stesso finché non sostituisci il router. Ad esempio, per il mio servizio Internet domestico, nonIndirizzo di controllo dell'accesso ai media da un nuovo router.
Anche se il tuo indirizzo IP cambia frequentemente, potresti essere in grado di acquistare un indirizzo IP statico dall'ISP. Alcuni venderanno un indirizzo IP statico agli utenti domestici per una tariffa mensile, mentre molti non lo faranno.
Ma una soluzione che uso quando devo essere in grado di connettermi esternamente al sistema di un utente domestico per la risoluzione dei problemi o di configurare un server basato su casa è quella di utilizzare Dynamic Domain Name System . Ciò consente di accedere a un server di casa utilizzando un nome di dominio completo (FQDN) , ad esempio martijn.example.com, anche se l'indirizzo IP esterno del router varia. Uso No-IP.com , ma ci sono anche altri servizi DDNS. Il modo in cui DDNS funziona consiste nell'installare software su un sistema sul lato interno, LAN, del router che comunica periodicamente con un sistema di provider di servizi DDNS, in modo che il provider DDNS conosca l'attuale indirizzo IP esterno da cui comunica il sistema . Il provider DDNS aggiorna quindi il suo Domain Name System (DNS)server, ovvero i server che traducono i nomi di dominio completi, come martijn.example.com, in indirizzi IP, per riflettere l'attuale indirizzo IP esterno per il router. Quindi chiunque inserisca martijn.example.com nel suo browser verrà indirizzato all'indirizzo IP corretto. Alcuni router dispongono di un'opzione di configurazione che consente di specificare un provider di servizi DDNS, quindi potrebbe non essere necessario installare alcun software su un sistema domestico per farlo funzionare; devi solo avere un account con un provider DDNS.
I provider DDNS addebiteranno una commissione per l'utilizzo del proprio nome di dominio, ad esempio martijn.com, se si desidera acquistare il proprio nome di dominio. Ma potresti anche essere in grado di utilizzare un servizio DDNS gratuitamente, ad esempio No-IP fornisce un servizio gratuito , se sei disposto a utilizzare un nome di dominio fornito dal provider DDNS. Ad esempio, se il provider possiede example.com, potresti essere in grado di utilizzare martijn.example.com gratuitamente, anche se dovresti pagare per martijn.com. Vale a dire, è possibile specificare un nome host particolare, ad esempio martijn, da utilizzare con uno dei loro nomi di dominio.
Ho usato una tale configurazione per un sito Web da casa per molti anni. Se disponi di una connessione Internet abbastanza affidabile e il tuo ISP non blocca l'accesso ai server domestici, può effettivamente funzionare abbastanza bene per i siti a basso traffico. Ad esempio, se non ti aspetti di avere più di qualche centinaio di visitatori ogni giorno sul tuo sito e non stai già saturando la larghezza di banda disponibile. Ma ci sono considerazioni che devi conoscere, ad esempio, quelle che ho menzionato sopra, quando si configura un server basato su home che può portare alcuni a raccomandare di utilizzare un servizio di hosting.
Sebbene una tale configurazione possa essere utilizzata anche per un'azienda di piccole dimensioni o domiciliata, non la consiglierei per un'azienda di piccole dimensioni o domestica se l'accesso al tuo sito Web è fondamentale, se il tuo indirizzo IP esterno può cambiare frequentemente, da quando qualcuno visita il tuo sito il loro sistema memorizzerà nella cache il tuo indirizzo IP in modo che la prossima volta che visiteranno il sito il sistema non dovrà cercare l'indirizzo IP che si abbini nuovamente con il nome. C'è un tempo per vivere (TTL)valore per tali voci DNS memorizzate nella cache, quindi scadranno e il sistema cercherà di nuovo l'indirizzo IP, ma potrebbero rimanere su un sistema per molti minuti o addirittura ore. E anche altri server DNS memorizzano nella cache voci. Ad esempio, supponiamo che Mary sia un cliente Comcast il cui sistema si collega a martijn.example.com. Il suo sistema può interrogare i server DNS Comcast per ottenere l'indirizzo IP per il sito Web. Quindi ora i server Comcast conoscono l'indirizzo IP associato al nome di dominio completo. Anche un altro cliente di Comcast, Bill, vuole visitare il tuo sito. Non ha mai visitato il tuo sito prima, quindi il suo sistema non ha memorizzato nella cache la traduzione tra martijn.example.com e il suo indirizzo IP, ma quando il suo sistema richiede un server DNS Comcast, se quel server conosce già l'indirizzo associato al FQDN, fornirà la risposta dalla sua cache.
Pertanto, se il tuo indirizzo IP cambia, anche se il tuo server o router potrebbe aggiornare entro un minuto i server DNS del provider DDNS, altri potrebbero ancora ottenere il vecchio indirizzo IP e quindi il tuo sito Web è inaccessibile a loro fino al loro sistema o ai server DNS del loro ISP ottiene il nuovo indirizzo IP attuale. A causa della memorizzazione nella cache e in base all'impostazione TTL, è possibile che alcuni sistemi possano ancora tentare di connettersi al vecchio indirizzo IP molte ore dopo o forse anche il giorno successivo. Questo potrebbe non essere un problema serio se vuoi solo rendere il tuo sito Web accessibile a familiari e amici, ma se stai gestendo un'attività, è probabilmente un problema inaccettabile.
Aggiornamento per rispondere al commento:
quando acquisti un nome di dominio da un registrar di nomi di dominio , spesso hai la possibilità di specificare un indirizzo IP o indirizzi per i sistemi che dovrebbero essere accessibili tramite il nome di dominio a quegli indirizzi o puoi "parcheggiare" temporaneamente il nome, in modo che punti ai sistemi appartenenti al registrar. Quando sei pronto a specificare il tuo indirizzo IP, i registrar in genere offrono servizi DNS che ti consentono di modificare gli indirizzi IP associati ai nomi di dominio ogni volta che vuoi. Molti consentono anche, attraverso il loro servizio DNS, di regolare il valore TTL, ovvero la quantità di tempo in cui un sistema dovrebbe memorizzare nella cache l'indirizzo IP associato a un nome di dominio completo. Quindi, se pensavi di dover cambiare frequentemente l'indirizzo IP, dovresti specificare un TTL più breve. Il registrar potrebbe avere un TTL minimo che è possibile specificare, ad esempio 5 minuti o 30 minuti. Il valore viene solitamente specificato in secondi, quindi un TTL di 5 minuti appare come 300.
Pertanto, se si utilizza il servizio DNS del registrar, sarà necessario accedere al proprio account con il registrar e modificare manualmente l'indirizzo IP o gli indirizzi associati al proprio nome di dominio ogni volta che si verifica una modifica. Oppure, in alternativa, è possibile utilizzare un fornitore di servizi DDNS in modo che la modifica della traduzione da FQDN a indirizzo IP avvenga automaticamente. È possibile acquistare il nome di dominio tramite il provider di servizi DDNS e quindi utilizzare i loro server DNS per impostazione predefinita o acquistare il nome di dominio da un altro registrar e specificare gli indirizzi IP per i server dei nomi del provider DDNS attraverso la pagina di configurazione per il sito Web fornita dal dominio nome registrar
Un'altra opzione sarebbe quella di eseguire il proprio server DNS. Quando si acquista un nome di dominio, è possibile specificare i server dei nomi da utilizzare con esso, i server dei nomi del registrar o altri server dei nomi. Ad esempio, potresti avere lo stesso sistema che è un server Web essere un server DNS. Dovresti assicurarti che il server sia accessibile sulla porta 53, che è la porta predefinita per DNS, per i protocolli UDP e TCP IP. È quindi possibile creare uno script / programma sul server che controlla periodicamente per vedere quale indirizzo IP esterno è assegnato al router e aggiornare il file di zonaper il tuo nome di dominio sul tuo server DNS. Tuttavia, la configurazione di un server DNS è molto più complicata che affidarsi a un provider DDNS. Puoi trovare tutorial per configurare un server DNS online, se desideri seguire quella strada più complicata. BIND è comunemente usato per il servizio DNS su sistemi Linux. Le versioni server di Windows di Windows, ad esempio Windows Server 2012, dispongono di un servizio DNS fornito da Microsoftche può anche essere usato. Suggerirei di iniziare con un servizio DNS di un registrar, che in genere è gratuito quando hai acquistato un nome di dominio dal registrar, anche se hai pensato di voler intraprendere quel percorso più difficile di esecuzione del tuo server DNS. A meno che qualcuno non voglia imparare come funzionano le basi di Internet, come i server DNS, attenersi a un registrar o ai server DNS del fornitore di servizi DDNS è probabilmente il corso migliore per la maggior parte delle persone. È inoltre possibile ottenere il servizio DNS tramite società specializzate in servizi DNS, come OpenDNS .
Tieni presente, tuttavia, che anche se specifichi un valore TTL breve e disponi di aggiornamenti automatici, esiste la possibilità di un ritardo maggiore rispetto al TTL tra il momento in cui ottieni un nuovo indirizzo IP e il tempo in cui tutti i sistemi su Internet smettono di utilizzare il vecchio indirizzo IP e utilizzare quello nuovo. Ad esempio, vedi l'articolo GoDaddy, Quali fattori influenzano il tempo di propagazione DNS? (GoDaddy è un registrar di nomi di dominio), il che spiega perché potrebbero essere necessarie fino a 48 ore prima che il nuovo indirizzo sia disponibile per tutti i sistemi su Internet. Ad esempio, l'articolo afferma "Alcuni ISP ignorano le impostazioni TTL e aggiornano i loro record memorizzati nella cache solo ogni due o tre giorni".