di Giorgia Nola # Semplice hosting di siti con Amazon S3 e HTTPS Salve gente! In questo tutorial ti mostrerò come ospitare un sito Web statico con HTTPS su AWS con un dominio personalizzato. Tutto questo è possibile utilizzando il piano gratuito di AWS Tuttavia, i servizi che utilizzeremo comportano alcuni piccoli addebiti. In generale, questi non dovrebbero superare $ 1 al mese Useremo una combinazione dei seguenti servizi AWS: âÃÂÃÂS3 âÃÂàRoute53 âÃÂàGestore certificati âÃÂàCloudFront *Diamoci dentro!* Configura i tuoi bucket S3 In primo luogo, avrai bisogno **due bucket S3 devono corrispondere entrambi al tuo nome di dominio personalizzato con il secondo che include il sottodominio www Secchio 1: Secchio 2: Il primo bucket (mywebsite.com) è il bucket principale per il tuo sito. Questo contiene tutti i tuoi file e risorse per il tuo sito web statico Quindi impostiamo questo bucket per l'hosting di siti statici. Puoi trovarlo nella scheda Proprietà del bucket e manterremo le impostazioni predefinite fornite qui con l'indice del sito impostato su index.html Dobbiamo anche rendere questo bucket accessibile poiché il browser di un utente dovrà accedere ai file del bucket per eseguire il rendering del sito web. Possiamo farlo impostando una Bucket Policy nella scheda Autorizzazioni { "Version": "2012-10-17", "Statement": [ { "Sid": "PublicReadGetObject", "Effect": "Allow", "Principal":"Action": "s3:GetObject", "Risorsa": "MY_BUCKET_ARN"} ]} Si tratta di una semplice policy che consentirà solo l'accesso pubblico in lettura agli oggetti nel bucket. Ora, se ti dirigi all'endpoint definito nella configurazione di hosting statico del bucket, dovresti vedere il tuo sito web Progresso! Ma possiamo fare di meglio Il secondo bucket (www.mywebsite.com) lo lasceremo vuoto ma configureremo per reindirizzare al nostro primo bucket utilizzando HTTP come protocollo (lo faremo HTTPS in seguito) I tuoi secchi sono ora pronti per partire! Configura i domini con Route53 Quindi il tuo sito web è attivo e funzionante ma accessibile solo tramite l'endpoint del bucket e non il tuo dominio personalizzato. Cambiamo le cose Vai a **Route53 Se hai registrato il tuo dominio con Amazon Registrar dovresti vedere che una zona ospitata è stata configurata per te con due set di record. Uno per Name Server (NS) e uno per SOA Tutto quello che dobbiamo fare è creare altri due set di record per puntare agli endpoint del bucket S3 Per ogni set di record: âÃÂàTipo: A âÃÂàIndirizzo IPv4 âÃÂàAlias: Sì âÃÂàDestinazione alias: l'endpoint del sito Web S3 che corrisponde a quanto impostato per Nome Ora possiamo andare all'url personalizzato e voilÃÂà! Ci siamo quasi, ma c'è un'ultima cosa che ci manca... ÃÂæ **Nota Se il tuo dominio è registrato con un altro registrar di domini (non Amazon), dovrai seguire alcuni passaggi diversi per configurarlo. Di solito dovrai aggiungere un record CNAME con un valore dell'endpoint principale dei bucket S3. **Risoluzione dei problemi Se hai eliminato la zona ospitata creata da Amazon quando hai registrato per la prima volta il dominio (l'ho fatto perché le zone ospitate comportano alcuni addebiti), dovrai Dovrà creare una nuova zona ospitata da zero - Seleziona âÃÂÃÂCrea zona ospitataâÃÂàe imposta il nome del dominio, ad esempio âÃÂÃÂmywebsite. comâÃÂà- Questo genererà alcuni nuovi set di record per i tipi NS e SOA - Entra nel tuo dominio registrato e aggiorna i valori dei Name Server a quelli generati nel nuovo set di record NS Richiesta di un certificato Fantastico, il sito è ora ospitato utilizzando l'URL personalizzato! Tuttavia possiamo accedervi solo tramite il protocollo HTTP Dovremmo sempre assicurarci che i nostri siti siano protetti utilizzando il protocollo HTTPS. Questo protegge il nostro sito e gli utenti da attacchi di iniezione dannosi e garantisce l'autenticità Vai a **Certificate Manager** nella console AWS e richiedi un nuovo certificato pubblico (gratuito). Ti verrà chiesto di inserire i nomi di dominio che desideri proteggere Prima che il certificato possa essere emesso, Amazon deve essere in grado di verificare che possiedi i domini specificati Puoi scegliere tra due metodi di verifica: e-mail o DNS L'e-mail è generalmente più semplice, ma dovrai assicurarti di poter accedere all'e-mail utilizzata per registrare il dominio. In alternativa, se hai utilizzato Amazon Registrar e Route53, puoi selezionare il metodo DNS. Ciò richiede l'aggiunta di alcuni set di record specifici alla zona ospitata, ma questo è per lo più automatizzato per te, quindi è abbastanza semplice L'emissione del certificato dopo la convalida può richiedere alcuni minuti Quando è tutto finito, possiamo continuare con il passaggio finale! Configurazione di CloudFront Per il passaggio finale che useremo **CloudFront **che ci consente di utilizzare il nuovo certificato SSL per servire il sito Web con HTTPS. CloudFront velocizza inoltre la distribuzione dei contenuti Web archiviandoli in più edge location e consegnandoli dall'edge location più vicina a un utente Abbiamo bisogno **due nuove distribuzioni web, una per ogni bucket S3. Accedi a CloudFront nella console AWS e crea la prima distribuzione Web Ci sono molte impostazioni disponibili per creare una distribuzione web, ma per le basi dobbiamo cambiarne solo cinque: Origin Domain Name: impostalo sull'endpoint del sito Web S3 per uno dei bucket. Importante: questo campo ti fornirà alcune opzioni di completamento automatico con i nomi dei tuoi bucket S3. Tuttavia, il loro utilizzo può causare problemi con il reindirizzamento all'endpoint del bucket. Quindi, usa invece direttamente l'endpoint del bucket. Origin Id: questo viene compilato per te quando inserisci il nome di dominio di origine. Criterio protocollo visualizzatore: impostato su âÃÂÃÂReindirizza HTTP a HTTPS âÃÂÃÂ. Nomi di dominio alternativi: devono corrispondere al nome del bucket S3 a cui stai puntando. Ad esempio âÃÂÃÂmywebsite.comâÃÂÃÂ. Certificato SSL: selezionare âÃÂÃÂCertificato SSL personalizzatoâÃÂàe selezionare il nuovo certificato dal menu a discesa Fallo di nuovo per il secondo bucket S3 Le distribuzioni possono richiedere un po'di tempo per girare, quindi mentre aspettiamo, facciamo i passaggi finali Di nuovo dentro **S3 vai al tuo bucket secondario (www.mywebsite.com), nella scheda Properties e in Static Website Hosting imposta il protocollo di reindirizzamento su HTTPS Infine, torna a **Route53 Dobbiamo aggiornare i record A personalizzati che abbiamo creato per indirizzare ora le distribuzioni CloudFront anziché i bucket S3. Per ogni record, modifica l'Alias ​​Target e seleziona la distribuzione CloudFront disponibile nel menu a discesa Nota: ancora una volta, se stai utilizzando un altro servizio DNS, dovrai aggiornare il record CNAME da lì per puntare al nome di dominio CloudFront E il gioco è fatto! Il tuo bellissimo sito Web è ora disponibile nel dominio personalizzato e servito con HTTPS! Grazie per aver letto! Spero che questa guida sia stata utile e divertente, mi piacerebbe sapere se l'hai trovata utile.