de Georgia Nola

Găzduire simplă a site-ului cu Amazon S3 și HTTPS

Gazduire simpla a site ului cu Amazon S3 si HTTPS
Fotografie de Domenico Loia pe Unsplash

Bună, oameni buni!

În acest tutorial vă voi arăta cum să găzduiți un site web static cu HTTPS pe AWS cu un domeniu personalizat. Toate acestea sunt posibile folosind AWS free tier.

Cu toate acestea, serviciile pe care urmează să le folosim atrag anumite taxe mici. În general, acestea nu trebuie să depășească 1 USD / lună.

Vom folosi o combinație a următoarelor servicii AWS:
—S3
– Route53
– Manager certificat
– CloudFront

Să intrăm în asta!

Configurați gălețile S3

În primul rând, veți avea nevoie două cupe S3, ambele ar trebui să se potrivească cu numele dvs. de domeniu personalizat cu cel de-al doilea, inclusiv subdomeniul www.

Cupa 1: mywebsite.com
Cupa 2: www.mywebsite.com

Prima găleată (mywebsite.com) este găleată principală pentru site-ul dvs. Acesta conține toate fișierele și activele pentru site-ul dvs. static.

Gazduire simpla a site ului cu Amazon S3 si HTTPS

Apoi, configurăm această bucket pentru găzduirea statică a site-ului. Puteți găsi acest lucru în fila Proprietăți a cupei și vom păstra valorile implicite furnizate aici, cu indexul site-ului setat la index.html.

1611621188 824 Gazduire simpla a site ului cu Amazon S3 si HTTPS

De asemenea, trebuie să facem această bucket accesibilă publicului, deoarece browserul unui utilizator va trebui să acceseze fișierele bucket-ului pentru a reda site-ul web. Putem face acest lucru setând o politică de bucket în fila Permisiuni.

{       "Version": "2012-10-17",       "Statement": [        {            "Sid": "PublicReadGetObject",            "Effect": "Allow",            "Principal": "*",            "Action": "s3:GetObject",            "Resource": "MY_BUCKET_ARN"        }    ]}

Aceasta este o politică simplă, care va permite doar accesul public de citire a obiectelor din cupă. Acum, dacă vă îndreptați către punctul final definit în configurația de găzduire statică a cupei, ar trebui să vă vedeți site-ul web.

1611621189 637 Gazduire simpla a site ului cu Amazon S3 si HTTPS

Progres! Dar putem face mai bine de atât.

Al doilea bucket (www.mywebsite.com) îl vom lăsa gol, dar îl vom configura pentru a redirecționa către primul nostru bucket folosind HTTP ca protocol (îl vom face HTTPS mai târziu).

1611621189 393 Gazduire simpla a site ului cu Amazon S3 si HTTPS
Redirecționați solicitările înapoi la bucket-ul principal utilizând protocolul HTTP

Găleatele tale sunt acum gata de plecare!

Configurați domeniile cu Route53

Așadar, site-ul dvs. web funcționează, dar este accesibil numai prin punctul final al bucket-ului și nu prin domeniul dvs. personalizat. Să schimbăm asta.

Mergeți spre Traseul53. Dacă v-ați înregistrat domeniul la Registratorul Amazon, ar trebui să vedeți că o zonă găzduită a fost configurată pentru dvs. cu două seturi de înregistrări. Una pentru Name Server (NS) și una pentru SOA.

Tot ce trebuie să facem este să creăm încă două seturi de înregistrări pentru a indica punctele finale ale cupei S3.

Pentru fiecare set de înregistrări:
– Tastați: A – adresa IPv4
– Alias: Da
– Alias ​​Target: punctul final al site-ului web S3 care se potrivește cu ceea ce ați setat pentru Nume.

1611621189 772 Gazduire simpla a site ului cu Amazon S3 si HTTPS
Crearea unui set de înregistrări pentru subdomeniul www

Acum ne putem îndrepta către adresa URL personalizată … și voilà!
Aproape am ajuns, dar ne lipsește un ultim lucru …

Gazduire simpla a site ului cu Amazon S3 si HTTPS

Notă: Dacă domeniul dvs. este înregistrat la un alt registrator de domenii (nu Amazon), va trebui să urmați câțiva pași diferiți pentru a configura acest lucru. De obicei, va trebui să adăugați o înregistrare CNAME cu o valoare a punctului final principal al cupelor S3.

Depanare:
Dacă ați șters zona găzduită pe care Amazon a creat-o la prima înregistrare a domeniului (am făcut acest lucru deoarece zonele găzduite suportă anumite taxe), va trebui să creați o nouă zonă găzduită de la zero.

  1. Selectați „Creați zonă găzduită” și setați numele domeniului, de exemplu „site-ulmeu.com”
  2. Aceasta va genera câteva seturi de înregistrări noi pentru tipurile NS și SOA.
  3. Accesați domeniul dvs. înregistrat și actualizați valorile serverelor de nume la cele generate în noul set de înregistrări NS.

Solicitarea unui certificat

Minunat, site-ul este acum găzduit folosind adresa URL personalizată! Cu toate acestea, îl putem accesa numai prin protocol HTTP.
Ar trebui să ne asigurăm întotdeauna că site-urile noastre sunt securizate utilizând protocolul HTTPS. Aceasta protejează site-ul nostru și utilizatorii de atacuri de injecție rău intenționată și garantează autenticitate.

Mergeți spre Manager certificat în AWS Console și solicitați un nou certificat public (acesta este gratuit). Vi se va solicita să introduceți numele de domeniu pe care doriți să le asigurați.

1611621190 902 Gazduire simpla a site ului cu Amazon S3 si HTTPS

Înainte ca certificatul să poată fi emis, Amazon trebuie să poată verifica dacă dețineți domeniile specificate.

Puteți alege dintre două metode de verificare: e-mail sau DNS.

E-mailul este, în general, mai simplu, dar va trebui să vă asigurați că puteți accesa e-mailul utilizat pentru înregistrarea domeniului. Alternativ, dacă ați utilizat Amazon Registrar și Route53, puteți selecta metoda DNS. Acest lucru necesită adăugarea unor seturi de înregistrări specifice în zona găzduită, dar acest lucru este automatizat pentru dvs., deci este destul de simplu.

Poate dura câteva minute până când certificatul va fi eliberat după validare.
Când totul este făcut, putem continua la pasul final!

Configurarea CloudFront

Pentru pasul final pe care îl vom folosi CloudFront ceea ce ne permite să folosim noul certificat SSL pentru a servi site-ul web cu HTTPS. CloudFront grăbește, de asemenea, distribuția conținutului web stocându-l în mai multe locații de margine și livrând de la cea mai apropiată locație de margine către un utilizator.

Avem nevoie două noi distribuții web, câte unul pentru fiecare cupă S3. Mergeți la CloudFront în AWS Console și creați prima distribuție web.
Există o mulțime de setări disponibile pentru a crea o distribuție web, dar pentru elementele de bază trebuie să schimbăm doar cinci:

  1. Nume domeniu de origine: Setați acest lucru la punctul final al site-ului web S3 pentru una dintre găleți. Important: Acest câmp vă va oferi câteva opțiuni de completare automată cu numele cupei S3. Cu toate acestea, utilizarea acestora poate cauza probleme cu redirecționarea către punctul final al bucket. Așadar, utilizați în mod direct punctul final al cupei.
  2. Id-ul originii: Aceasta este completată pentru dvs. când introduceți numele de domeniu de origine.
  3. Politica privind protocolul vizualizator: Setați la „Redirecționați HTTP către HTTPS”.
  4. Numele de domeniu alternative: Aceasta ar trebui să se potrivească cu numele cupei S3 către care indicați. De exemplu „mywebsite.com”.
  5. Certificat SSL: Selectați „Certificat SSL personalizat” și selectați noul dvs. certificat din meniul derulant.

Faceți acest lucru din nou pentru a doua cupă S3.

1611621190 788 Gazduire simpla a site ului cu Amazon S3 si HTTPS
1611621190 732 Gazduire simpla a site ului cu Amazon S3 si HTTPS

Distribuțiile pot dura ceva timp până se învârt, așa că în timp ce așteptăm, să facem pașii de finalizare.

Înapoi în S3, accesați secțiunea secundară (www.mywebsite.com), în fila Proprietăți și sub Static Website Hosting, setați protocolul de redirecționare la HTTPS.

În cele din urmă, întoarce-te la Traseul53. Trebuie să actualizăm înregistrările personalizate A pe care le-am creat pentru a viza acum distribuțiile CloudFront, mai degrabă decât gălețile S3. Pentru fiecare înregistrare, modificați Alias ​​Target și selectați distribuția CloudFront disponibilă în meniul derulant.

Notă: Din nou, dacă utilizați un alt serviciu DNS, va trebui să actualizați înregistrarea CNAME de acolo pentru a indica numele de domeniu CloudFront.

1611621191 181 Gazduire simpla a site ului cu Amazon S3 si HTTPS
Huzzah!

Și iată-l! Frumosul dvs. site web este acum disponibil la domeniul personalizat și este difuzat cu HTTPS!

1611621191 264 Gazduire simpla a site ului cu Amazon S3 si HTTPS
De la Giphy

Mulțumesc pentru lectură! Sper că acest ghid a fost util și plăcut, aș vrea să știu dacă vi s-a părut util.