av Georgia Nola # Enkelt webbhotell med Amazon S3 och HTTPS Hej gott folk! I den här handledningen ska jag visa dig hur du är värd för en statisk webbplats med HTTPS på AWS med en anpassad domän. Allt detta är möjligt med hjälp av AWS gratis nivå De tjänster vi kommer att använda medför dock några små avgifter. Generellt sett bör dessa inte överstiga 1 USD/månad Vi kommer att använda en kombination av följande AWS-tjänster: âÃÂÃÂS3 âÃÂàRoute53 âÃÂàCertifikatansvarig âÃÂàCloudFront *Låt oss komma in i det!* Ställ in dina S3-skopor Först behöver du **två S3-hinkar båda ska matcha ditt anpassade domännamn med den andra inklusive www-underdomänen Hink 1: Hink 2: Den första hinken (mywebsite.com) är den viktigaste hinken för din webbplats. Detta innehåller alla dina filer och tillgångar för din statiska webbplats Därefter ställer vi in ​​den här hinken för statisk webbhotell. Du kan hitta detta under fliken Egenskaper i hinken, och vi kommer att behålla standardinställningarna här med webbplatsens index satt till index.html Vi måste också göra denna bucket tillgänglig eftersom en användares webbläsare kommer att behöva få åtkomst till bucket-filerna för att kunna rendera webbplatsen. Vi kan göra detta genom att ställa in en Bucket Policy under fliken Behörigheter { "Version": "2012-10-17", "Statement": [ { "Sid": "PublicReadGetObject", "Effect": "Allow", "Principal":"Action": "s3:GetObject", "Resurs": "MY_BUCKET_ARN"} ]} Detta är en enkel policy som endast tillåter offentlig läsåtkomst av objekt i hinken. Nu, om du går till slutpunkten som definieras i den statiska värdkonfigurationen för hinken, bör du se din webbplats Framsteg! Men vi kan bättre än så Den andra hinken (www.mywebsite.com) lämnar vi tom men konfigurerar för att omdirigera till vår första hink med HTTP som protokoll (vi gör det till HTTPS senare) Dina hinkar är nu redo att gå! Konfigurera domäner med Route53 Så din webbplats är igång men endast tillgänglig via bucket endpoint och inte din anpassade domän. Låt oss ändra på det Bege dig till **Route53 Om du har registrerat din domän hos Amazon Registrar bör du se att en värdzon har konfigurerats för dig med två rekorduppsättningar. En för Name Server (NS) och en för SOA Allt vi behöver göra är att skapa ytterligare två postuppsättningar för att peka på S3-hinkens slutpunkter För varje rekorduppsättning: âÃÂàTyp: A âÃÂàIPv4-adress âÃÂàAlias: Ja âÃÂàAlias ​​Target: S3-webbplatsens slutpunkt som matchar det du ställer in för Namn Nu kan vi gå till den anpassade webbadressen och voilÃÂà! Vi är nästan där, men det är en sista sak vi saknar. ÃÂæ **Obs! Om din domän är registrerad hos en annan domänregistrator (inte Amazon) måste du följa några olika steg för att ställa in detta. Vanligtvis måste du lägga till en CNAME-post med värdet för S3-hink-slutpunkten. **Felsökning Om du tog bort den värdzon som Amazon skapade när du först registrerade domänen (jag har gjort detta eftersom värdzoner medför vissa avgifter) måste skapa en ny värdzon från början - Välj âÃÂÃÂCreate Hosted ZoneâÃÂàoch ange domännamnet, till exempel âÃÂÃÂmywebsite. comâÃÂà– Detta kommer att generera några nya rekorduppsättningar för typerna NS och SOA - Gå in på din registrerade domän och uppdatera namnservrarnas värden till de som genereras i den nya NS-postuppsättningen Begär ett certifikat Fantastiskt, sidan är nu värd med den anpassade webbadressen! Men vi kan bara komma åt det via HTTP-protokoll Vi bör alltid se till att våra webbplatser är säkrade med HTTPS-protokoll. Detta skyddar vår webbplats och användare från skadliga injektionsattacker och garanterar äkthet Bege dig till **Certificate Manager** i AWS Console och begär ett nytt offentligt certifikat (detta är gratis). Du kommer att uppmanas att ange de domännamn du vill säkra Innan certifikatet kan utfärdas måste Amazon kunna verifiera att du äger de angivna domänerna Du kan välja mellan två verifieringsmetoder: E-post eller DNS E-post är i allmänhet enklare, men du måste se till att du kan komma åt e-postmeddelandet som används för att registrera domänen. Alternativt, om du använde Amazon Registrar och Route53, kan du välja DNS-metoden. Detta kräver att du lägger till några specifika postuppsättningar till den värdade zonen, men detta är mestadels automatiserat för dig så det är ganska enkelt Det kan ta några minuter för certifikatet att utfärdas efter validering När allt är klart kan vi fortsätta till det sista steget! Konfigurera CloudFront För det sista steget kommer vi att använda **CloudFront **som tillåter oss att använda det nya SSL-certifikatet för att betjäna webbplatsen med HTTPS. CloudFront påskyndar också distributionen av webbinnehåll genom att lagra det på flera kantplatser och leverera från den närmaste kantplatsen till en användare Vi behöver **två nya webbdistributioner en för varje S3-hink. Gå till CloudFront i AWS-konsolen och skapa den första webbdistributionen Det finns många inställningar tillgängliga för att skapa en webbdistribution, men för grunderna behöver vi bara ändra fem: Ursprungsdomännamn: Ställ in detta på S3-webbplatsens slutpunkt för en av hinkarna. Viktigt: Det här fältet ger dig några alternativ för automatisk komplettering med dina S3-hinknamn. Men att använda dessa kan orsaka problem med omdirigering till bucket endpoint. Så använd istället bucket endpoint direkt. Ursprungs-ID: Detta fylls i för dig när du anger ursprungsdomännamn. Viewer Protocol Policy: Ställ in på âÃÂÃÂOmdirigera HTTP till HTTPSâÃÂÃÂ. Alternativa domännamn: Detta bör matcha namnet på S3-hinken du pekar på. Till exempel âÃÂÃÂmywebsite.comâÃÂÃÂ. SSL-certifikat: Välj âÃÂÃÂCustom SSL CertificateâÃÂàoch välj ditt nya certifikat från rullgardinsmenyn Gör detta igen för den andra S3-hinken Distributionerna kan ta ett tag att snurra upp, så medan vi väntar, låt oss göra de avslutande stegen Tillbaka in **S3 gå till din sekundära bucket (www.mywebsite.com), på fliken Egenskaper och under Static Website Hosting ställ in omdirigeringsprotokollet till HTTPS Slutligen, gå tillbaka till **Route53 Vi måste uppdatera de anpassade A-poster vi skapade för att nu rikta in CloudFront-distributionerna snarare än S3-buckets. För varje post ändrar du Alias ​​Target och väljer CloudFront-distributionen som är tillgänglig i rullgardinsmenyn Obs: Återigen, om du använder en annan DNS-tjänst måste du uppdatera CNAME-posten därifrån för att peka på CloudFront-domännamnet Och där har du det! Din vackra webbplats är nu tillgänglig på den anpassade domänen och serveras med HTTPS! Tack för att du läser! Jag hoppas att den här guiden var användbar och njutbar, jag skulle gärna vilja veta om du tyckte att den var till hjälp.