Vienkārša vietņu mitināšana ar Amazon S3 un HTTPS

Hiya ļaudis!

Šajā apmācībā es jums parādīšu, kā mitināt statisku vietni ar HTTPS AWS ar pielāgotu domēnu. Tas viss ir iespējams, izmantojot AWS bezmaksas līmeni.

Tomēr par pakalpojumiem, kurus izmantosim, ir jāmaksā neliela maksa. Parasti tiem nevajadzētu pārsniegt USD 1 mēnesī.

Mēs izmantosim šādu AWS pakalpojumu kombināciju:

—S3

- 53. maršruts

- Sertifikātu vadītājs

- CloudFront

Iesimies tajā!

Iestatiet savus S3 kausus

Pirmkārt, jums būs nepieciešami divi S3 segmenti , abiem jāatbilst jūsu pielāgotajam domēna nosaukumam ar otro, ieskaitot www apakšdomēnu.

1. kauss:mywebsite.com

2. kauss:www.mansvietne.com

Pirmais spainis (mywebsite.com) ir jūsu vietnes galvenā grupa. Tajā ir visi jūsu statiskās vietnes faili un aktīvi.

Tālāk mēs iestatīsim šo kausu statisko vietņu mitināšanai. To varat atrast spaiņa cilnē Rekvizīti, un mēs saglabāsim šeit norādītos noklusējuma iestatījumus, vietnes vietnei pievienojot index.html.

Mums arī ir jāpadara šī grupa publiski pieejama, jo lietotāja pārlūkprogrammai būs jāpiekļūst kausa failiem, lai padarītu vietni. Mēs to varam izdarīt, cilnē Atļaujas iestatot kausa politiku.

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

Šī ir vienkārša politika, kas ļaus publiski lasīt tikai objektus, kas atrodas segmentā. Tagad, ja dodaties uz galapunktu, kas definēts statiskā mitināšanas konfigurācijā, jums vajadzētu redzēt savu vietni.

Progress! Bet mēs varam darīt labāk nekā tas.

Otro segmentu (www.mywebsite.com) mēs atstāsim tukšu, bet konfigurēsim novirzīšanu uz mūsu pirmo segmentu, izmantojot protokolu HTTP (vēlāk to izveidosim par HTTPS).

Jūsu spaiņi tagad ir gatavi darbam!

Konfigurējiet domēnus ar Route53

Tātad jūsu vietne ir izveidota un darbojas, taču tai var piekļūt tikai caur kopas galapunktu, nevis jūsu pielāgoto domēnu. Mainīsim to.

Dodieties uz 53. maršrutu . Ja esat reģistrējis savu domēnu pie Amazon reģistratora, jums vajadzētu redzēt, ka jums ir iestatīta mitinātā zona ar divām ierakstu kopām. Viens vārda serverim (NS) un otrs SOA.

Viss, kas mums jādara, ir izveidot vēl divas ierakstu kopas, kas norāda uz S3 segmenta galapunktiem.

Par katru ierakstu kopu:

- Tips: A - IPv4 adrese

- Alias: Jā

- Alias ​​Target: vietnes S3 galapunkts, kas atbilst nosaukumam iestatītajam.

Tagad mēs varam doties uz pielāgoto URL ... un voilà!

Mēs gandrīz esam klāt, bet mums pietrūkst vēl pēdējās lietas ...

Piezīme : Ja jūsu domēns ir reģistrēts pie cita domēna reģistrētāja (nevis Amazon), jums to jāveic, lai iestatītu. Parasti jums jāpievieno CNAME ieraksts ar galvenā S3 segmentu galapunkta vērtību.

Traucējummeklēšana :

Ja esat izdzēsis mitināto zonu, kuru Amazon izveidoja, reģistrējot domēnu (es to izdarīju, jo par mitinātajām zonām ir jāmaksā), jums no jauna jāizveido jauna mitinātā zona.

  1. Atlasiet “Izveidot mitināto zonu” un iestatiet domēna nosaukumu, piemēram, “mywebsite.com”
  2. Tādējādi tiks ģenerēti daži jauni NS un SOA tipu ierakstu komplekti.
  3. Ieejiet reģistrētajā domēnā un atjauniniet vārdu serveru vērtības uz tām, kas ģenerētas jaunajā NS ierakstu komplektā.

Sertifikāta pieprasīšana

Lieliski, tagad vietne tiek mitināta, izmantojot pielāgoto URL! Tomēr mēs tam varam piekļūt, tikai izmantojot HTTP protokolu.

Mums vienmēr jānodrošina mūsu vietņu drošība, izmantojot HTTPS protokolu. Tas aizsargā mūsu vietni un lietotājus no ļaunprātīgiem injekciju uzbrukumiem un garantē autentiskumu.

Dodieties pie AWS konsoles sertifikātu pārvaldnieka un pieprasiet jaunu publisko sertifikātu (tas ir bez maksas). Jums tiks piedāvāts ievadīt tos domēna vārdus, kurus vēlaties aizsargāt.

Pirms sertifikāta izsniegšanas Amazon ir jāspēj pārbaudīt, vai jums pieder norādītie domēni.

Jūs varat izvēlēties vienu no divām verifikācijas metodēm: e-pasts vai DNS.

E-pasts parasti ir vienkāršāks, taču jums jāpārliecinās, vai varat piekļūt e-pastam, ko izmantojāt domēna reģistrēšanai. Alternatīvi, ja izmantojāt Amazon reģistratoru un Route53, varat izvēlēties DNS metodi. Tam ir jāpievieno mitinātai zonai daži īpaši ierakstu komplekti, taču tas jums galvenokārt ir automatizēts, tāpēc tas ir pavisam vienkārši.

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!

Paldies, ka lasījāt! Es ceru, ka šī rokasgrāmata bija noderīga un patīkama, es labprāt uzzinātu, vai jums tā noderēja.