Lihtne saidi hostimine Amazon S3 ja HTTPS-iga

Tere, rahvas!

Selles õpetuses näitan teile, kuidas hostida staatilist veebisaiti HTTPS-iga AWS-is kohandatud domeeniga. Kõik see on võimalik AWS-i tasuta taseme abil.

Teenused, mida kavatseme kasutada, peavad siiski maksma väikeseid tasusid. Üldiselt ei tohiks need ületada 1 dollarit kuus.

Kasutame järgmiste AWS-teenuste kombinatsiooni:

—S3

- Marsruut 53

- sertifikaatide haldur

- CloudFront

Läheme sellesse!

Seadistage oma S3 kopad

Esiteks vajate kahte S3 ämbrit , mõlemad peaksid sobima teie kohandatud domeeninimega teisega, sealhulgas alamdomeeniga www.

1. kopp:mywebsite.com

2. kopp:www.mywebsite.com

Esimene ämber (mywebsite.com) on teie saidi peamine ämber. See sisaldab kõiki teie staatilise veebisaidi faile ja varasid.

Järgmisena seadistame selle ämbri staatilise saidimajutuse jaoks. Selle leiate kopa vahekaardilt Atribuudid ja me hoiame siin toodud vaikeseaded koos saidi indeksiga seatud index.html.

Samuti peame selle ämber avalikult kättesaadavaks tegema, kuna kasutaja brauser peab veebisaidi renderdamiseks pääsema juurde ämber failidele. Saame seda teha, seadistades vahekaardi Permissions all ämbripoliitika.

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

See on lihtne poliitika, mis lubab avalikkusele juurdepääsu ainult ämbris olevate objektide lugemisele. Nüüd, kui suundute kopa staatilise hostimise konfiguratsioonis määratletud lõpp-punkti juurde, peaksite nägema oma veebisaiti.

Edenemine! Kuid me saame sellest paremini teha.

Teise rühma (www.mywebsite.com) jätame tühjaks, kuid konfigureerime oma esimesele ämbrile ümbersuunamiseks, kasutades protokolli HTTP (teeme sellest hiljem HTTPS).

Teie ämbrid on nüüd valmis minema!

Domeenide konfigureerimine marsruudiga 53

Nii et teie veebisait on käimas ja töötab, kuid sellele pääseb juurde ainult rühma lõpp-punkti, mitte teie kohandatud domeeni kaudu. Muutkem seda.

Liikuge marsruudile 53 . Kui olete oma domeeni registreerinud Amazoni registripidaja juures, peaksite nägema, et teie jaoks on seadistatud hostitud tsoon koos kahe kirjekomplektiga. Üks nimeserverile (NS) ja teine ​​SOA-le.

Kõik, mida peame tegema, on luua veel kaks kirjekomplekti, mis osutaksid S3 kopa lõpp-punktidele.

Iga kirjekomplekti kohta:

- Tüüp: A - IPv4 aadress

- Alias: Jah

- Alias ​​Target: S3 veebisaidi lõpp-punkt, mis vastab sellele, mille olete määranud nimeks.

Nüüd saame suunduda kohandatud URL-i juurde ... ja voilà!

Oleme peaaegu kohal, kuid veel üks asi on puudu ...

Märkus . Kui teie domeen on registreeritud teise domeeni registreerija juures (mitte Amazon), peate selle seadistamiseks järgima erinevaid samme. Tavaliselt peate lisama CNAME-kirje peamise S3 ämbrite lõpp-punkti väärtusega.

Tõrkeotsing :

Kui kustutasite domeeni esmakordsel registreerimisel loodud Amazoni loodud hostitud tsooni (olen seda teinud, kuna hostitud tsoonidel on teatud tasud), peate looma uue hostitud tsooni nullist.

  1. Valige „Loo hostitud tsoon“ ja määrake domeeninimi, näiteks „mywebsite.com“
  2. See loob mõned uued kirjekomplektid tüüpide NS ja SOA jaoks.
  3. Minge oma registreeritud domeeni ja värskendage nimeserverite väärtused uutele NS-kirjekomplektile loodud väärtustele.

Sertifikaadi taotlemine

Äge, saiti hostitakse nüüd kohandatud URL-i abil! Kuid me pääseme sellele juurde ainult HTTP-protokolli kaudu.

Peaksime alati tagama, et meie saidid on kaitstud HTTPS-protokolli abil. See kaitseb meie saiti ja kasutajaid pahatahtlike süstimisrünnakute eest ja tagab autentsuse.

Head to Sertifikaadihaldur sisse AWS konsooli ja nõuda uue avaliku sertifikaadi (see on tasuta). Teil palutakse sisestada domeeninimed, mida soovite turvata.

Enne sertifikaadi väljastamist peab Amazon suutma kontrollida, kas olete määratud domeenide omanik.

Võite valida kahe kinnitusviisi vahel: e-post või DNS.

E-post on üldiselt lihtsam, kuid peate tagama, et pääsete juurde domeeni registreerimiseks kasutatud e-posti aadressile. Teise võimalusena, kui kasutasite Amazoni registripidajat ja Route53, saate valida DNS-i meetodi. Selleks peate lisama hostitud tsooni mõned konkreetsed kirjekomplektid, kuid see on teie jaoks enamasti automatiseeritud, nii et see on üsna lihtne.

It can take a few minutes for the certificate to be issued after validation.

When its all done we can continue to the final step!

Configuring CloudFront

For the final step we are going to use CloudFront which allows us to use the new SSL certificate to serve the website with HTTPS. CloudFront also speeds up the distribution of web content by storing it at multiple edge locations and delivering from the closest edge location to a user.

We need two new web distributions, one for each S3 bucket. Head to CloudFront in the AWS Console and create the first web distribution.

There are lots of settings available to create a web distribution, but for the basics we only need to change five:

  1. Origin Domain Name: Set this to the S3 website endpoint for one of the buckets. Important: This field will give you some auto-complete options with your S3 bucket names. However, using these can cause issues with redirecting to the bucket endpoint. So instead use the bucket endpoint directly.
  2. Origin Id: This populated for you when you enter Origin Domain Name.
  3. Viewer Protocol Policy: Set to “Redirect HTTP to HTTPS”.
  4. Alternate Domain Names: This should match the name of the S3 bucket you’re pointing to. For example “mywebsite.com”.
  5. SSL Certificate: Select “Custom SSL Certificate” and select your new certificate from the dropdown.

Do this again for the second S3 bucket.

The distributions can take a while to spin up, so while we wait, let’s do the finishing steps.

Back in S3, go to your secondary bucket (www.mywebsite.com), in the Properties tab and under Static Website Hosting set the redirect protocol to HTTPS.

Finally, head back to Route53. We need to update the custom A records we created to now target the CloudFront distributions rather than the S3 buckets. For each record, change the Alias Target and select the CloudFront distribution available in the dropdown.

Note: Again, if you are using another DNS service you’ll need to go update the CNAME record from there to point to the CloudFront domain name.

And there you have it! Your beautiful website is now available at the custom domain and served with HTTPS!

Täname lugemast! Loodan, et see juhend oli kasulik ja nauditav. Tahaksin teada, kas see on teile kasulik.