Yksinkertainen sivuston ylläpito Amazon S3: n ja HTTPS: n avulla

Hiya ihmiset!

Tässä opetusohjelmassa näytän sinulle, kuinka isännöidä staattista verkkosivustoa HTTPS: n kanssa AWS: ssä mukautetulla verkkotunnuksella. Kaikki tämä on mahdollista käyttämällä AWS: n vapaata tasoa.

Palveluista, joita aiomme käyttää, peritään kuitenkin pieniä maksuja. Yleisesti ottaen näiden ei tulisi ylittää 1 dollari / kk.

Käytämme seuraavien AWS-palveluiden yhdistelmää:

—S3

- Reitti 53

- Sertifikaattipäällikkö

- CloudFront

Mennään siihen!

Asenna S3-kauhat

Ensinnäkin tarvitset kaksi S3-ämpäriä , molempien on vastattava mukautettua verkkotunnusta toiseen, mukaan lukien www-aliverkkotunnus.

Kauha 1:mywebsite.com

Kauha 2:www.mywebsite.com

Ensimmäinen ämpäri (mywebsite.com) on sivustosi pääsäiliö. Tämä sisältää kaikki staattisen verkkosivustosi tiedostot ja varat.

Seuraavaksi asennamme tämän kauhan staattista sivustopalvelua varten. Löydät tämän ämpäri Ominaisuudet-välilehdestä, ja pidämme täällä annetut oletusarvot, kun sivuston hakemisto on asetettu index.html.

Meidän on myös saatettava tämä ämpäri julkisesti saataville, koska käyttäjän selaimen on käytettävä kauhan tiedostoja verkkosivuston renderoimiseksi. Voimme tehdä tämän asettamalla ryhmäkäytännön Käyttöoikeudet-välilehdelle.

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

Tämä on yksinkertainen käytäntö, joka sallii vain ryhmässä olevien objektien julkisen lukuoikeuden. Jos nyt siirryt päätepisteeseen, joka on määritetty kauhan staattisessa isännöintikokoonpanossa, sinun pitäisi nähdä verkkosivustosi.

Edistyminen! Mutta voimme tehdä paremmin.

Toinen ämpäri (www.mywebsite.com) jätetään tyhjäksi, mutta määritämme ohjaamaan sen ensimmäiseen ämpäriin käyttämällä HTTP: tä protokollana (teemme siitä HTTPS myöhemmin).

Kauhasi ovat nyt valmiita lähtemään!

Määritä verkkotunnukset reitillä 53

Joten verkkosivustosi on käynnissä, mutta siihen pääsee vain ämpäripäätepisteen kautta eikä mukautetun toimialueesi kautta. Muutetaan sitä.

Suuntaa reitille 53 . Jos olet rekisteröinyt verkkotunnuksesi Amazon-rekisterinpitäjälle, sinun pitäisi nähdä, että isännöity vyöhyke on määritetty sinulle kahdella tietuejoukolla. Yksi nimipalvelimelle (NS) ja toinen SOA: lle.

Ainoa mitä meidän on tehtävä, on luoda vielä kaksi tietuejoukkoa osoittamaan S3-ämpäripäätepisteisiin.

Jokaiselle tietuejoukolle:

- Tyyppi: A - IPv4-osoite

- Alias: Kyllä

- Alias ​​Target: S3-verkkosivuston päätepiste, joka vastaa Nimi-asetusta.

Nyt voimme siirtyä mukautettuun URL-osoitteeseen ... ja voilà!

Olemme melkein siellä, mutta yksi viimeinen asia puuttuu ...

Huomaa : Jos verkkotunnuksesi on rekisteröity toiselle verkkotunnuksen rekisteröijälle (ei Amazonille), sinun on noudatettava joitain eri vaiheita tämän määrittämiseksi. Yleensä sinun on lisättävä CNAME-tietue S3-segmenttien pääpäätteen arvolla.

Vianetsintä :

Jos poistat isännöidyn vyöhykkeen, jonka Amazon luonut rekisteröidessään verkkotunnuksen (olen tehnyt tämän, koska isännöityille vyöhykkeille aiheutuu joitain maksuja), sinun on luotava uusi isännöity vyöhyke alusta alkaen.

  1. Valitse Luo isännöity vyöhyke ja aseta verkkotunnus, esimerkiksi "omasivusto.com"
  2. Tämä tuottaa joitain uusia tietuejoukkoja tyyppeille NS ja SOA.
  3. Mene rekisteröityyn verkkotunnukseesi ja päivitä nimipalvelimien arvot uuteen NS-tietuejoukkoon.

Varmenteen pyytäminen

Mahtavaa, sivustoa isännöidään nyt mukautetun URL-osoitteen avulla! Voimme kuitenkin käyttää sitä vain HTTP-protokollan kautta.

Meidän on aina varmistettava, että sivustomme on suojattu HTTPS-protokollalla. Tämä suojaa sivustoamme ja käyttäjiä haitallisilta injektiohyökkäyksiltä ja takaa aitouden.

Suuntaa Varmenteiden hallinta AWS Konsoli- ja pyytää uutta julkinen varmenne (tämä on ilmainen). Sinua pyydetään antamaan suojattavat verkkotunnukset.

Ennen varmenteen myöntämistä Amazonin on voitava vahvistaa, että omistat määritetyt verkkotunnukset.

Voit valita kahdesta vahvistustavasta: sähköposti tai DNS.

Sähköposti on yleensä yksinkertaisempaa, mutta sinun on varmistettava, että pääset käyttämään verkkotunnuksen rekisteröintiin käytettyä sähköpostia. Vaihtoehtoisesti, jos käytit Amazon Registraria ja Route53: ta, voit valita DNS-menetelmän. Tämä edellyttää, että lisäät tiettyjä tietuejoukkoja isännöityyn vyöhykkeeseen, mutta tämä on enimmäkseen automatisoitua sinulle, joten se on melko yksinkertaista.

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!

Kiitos lukemisesta! Toivon, että tämä opas oli hyödyllinen ja nautinnollinen, haluaisin tietää, jos löysit siitä hyödyllistä.