door Georgië Nola # Eenvoudige sitehosting met Amazon S3 en HTTPS Hallo mensen! In deze tutorial laat ik je zien hoe je een statische website host met HTTPS op AWS met een aangepast domein. Dit alles is mogelijk met behulp van de gratis laag van AWS Voor de services die we gaan gebruiken, worden echter kleine kosten in rekening gebracht. Over het algemeen mogen deze niet hoger zijn dan $ 1/maand We gebruiken een combinatie van de volgende AWS-services: âÃÂÃÂS3 âÃÂàRoute53 âÃÂàCertificaatbeheerder âÃÂàCloudFront *Laten we beginnen!* Stel uw S3-emmers in Ten eerste heb je nodig **twee S3-buckets moeten beide overeenkomen met uw aangepaste domeinnaam en de tweede inclusief het www-subdomein Emmer 1: Emmer 2: De eerste bucket (mywebsite.com) is de hoofdbucket voor uw site. Dit bevat al uw bestanden en middelen voor uw statische website Vervolgens stellen we deze bucket in voor statische sitehosting. U kunt dit vinden op het tabblad Eigenschappen van de bucket, en we gaan de standaardwaarden hier behouden met de index van de site ingesteld op index.html We moeten deze bucket ook toegankelijk maken, aangezien de browser van een gebruiker toegang moet hebben tot de bestanden van de bucket om de website weer te geven. We kunnen dit doen door een bucketbeleid in te stellen op het tabblad Machtigingen { "Version": "2012-10-17", "Statement": [ { "Sid": "PublicReadGetObject", "Effect": "Allow", "Principal":"Action": "s3:GetObject", "Bron": "MY_BUCKET_ARN"} ]} Dit is een eenvoudig beleid dat alleen openbare leestoegang tot objecten in de bucket toestaat. Als u nu naar het eindpunt gaat dat is gedefinieerd in de statische hostingconfiguratie van de bucket, zou u uw website moeten zien Voortgang! Maar we kunnen beter dan dat De tweede bucket (www.mywebsite.com) laten we leeg, maar configureren om om te leiden naar onze eerste bucket met HTTP als protocol (we maken er later HTTPS van) Je emmers zijn nu klaar voor gebruik! Domeinen configureren met Route53 Uw website is dus actief, maar alleen toegankelijk via het bucket-eindpunt en niet via uw aangepaste domein. Laten we dat veranderen Ga naar **Route53 Als je je domein hebt geregistreerd bij de Amazon Registrar, zou je moeten zien dat er een gehoste zone voor je is ingesteld met twee recordsets. Een voor Name Server (NS) en een voor SOA Het enige dat we hoeven te doen is nog twee recordsets te maken die verwijzen naar de S3-bucketeindpunten Voor elke recordset: âÃÂàType: A âÃÂàIPv4-adres Alias: Ja Alias ​​Target: het S3-website-eindpunt dat overeenkomt met wat u instelt voor Naam Nu kunnen we naar de aangepaste URL gaan en voilà! We zijn er bijna, maar er is nog een laatste ding dat we missen... ÃÂæ **Opmerking Als uw domein is geregistreerd bij een andere domeinregistreerder (niet bij Amazon), moet u enkele andere stappen volgen om dit in te stellen. Gewoonlijk moet u een CNAME-record toevoegen met een waarde van het belangrijkste S3-bucketeindpunt. **Probleemoplossen Als je de gehoste zone hebt verwijderd die Amazon heeft gemaakt toen je het domein voor het eerst registreerde (ik heb dit gedaan omdat gehoste zones kosten met zich meebrengen), dan U zult een geheel nieuwe gehoste zone moeten maken - Selecteer 'Create Hosted Zone'en stel de domeinnaam in, bijvoorbeeld 'mijnwebsite'. com - Dit zal enkele nieuwe recordsets genereren voor de typen NS en SOA - Ga naar uw geregistreerde domein en werk de waarden van de naamservers bij naar de waarden die zijn gegenereerd in de nieuwe NS-recordset Certificaat aanvragen Geweldig, de site wordt nu gehost met behulp van de aangepaste URL! We hebben er echter alleen toegang toe via het HTTP-protocol We moeten er altijd voor zorgen dat onze sites zijn beveiligd met het HTTPS-protocol. Dit beschermt onze site en gebruikers tegen kwaadaardige injectie-aanvallen en garandeert authenticiteit Ga naar **Certificaatbeheerder** in AWS Console en vraag een nieuw openbaar certificaat aan (dit is gratis). U wordt gevraagd de domeinnamen in te voeren die u wilt beveiligen Voordat het certificaat kan worden uitgegeven, moet Amazon kunnen verifiëren dat u de eigenaar bent van de opgegeven domeinen U kunt kiezen uit twee verificatiemethoden: e-mail of DNS E-mail is over het algemeen eenvoudiger, maar u moet ervoor zorgen dat u toegang heeft tot de e-mail die is gebruikt om het domein te registreren. Als je Amazon Registrar en Route53 hebt gebruikt, kun je ook de DNS-methode selecteren. Hiervoor moet u een aantal specifieke recordsets toevoegen aan de gehoste zone, maar dit is grotendeels geautomatiseerd voor u, dus het is vrij eenvoudig Het kan enkele minuten duren voordat het certificaat na validatie wordt uitgegeven Als alles klaar is, kunnen we doorgaan naar de laatste stap! CloudFront configureren Voor de laatste stap gaan we gebruiken **CloudFront **waarmee we het nieuwe SSL-certificaat kunnen gebruiken om de website met HTTPS te bedienen. CloudFront versnelt ook de distributie van webcontent door deze op meerdere edge-locaties op te slaan en vanaf de dichtstbijzijnde edge-locatie aan een gebruiker te leveren Wij hebben nodig **twee nieuwe webdistributies, één voor elke S3-bucket. Ga naar CloudFront in de AWS Console en creëer de eerste webdistributie Er zijn veel instellingen beschikbaar om een ​​webdistributie te maken, maar voor de basis hoeven we er maar vijf te wijzigen: Origin Domain Name: stel dit in op het S3-website-eindpunt voor een van de buckets. Belangrijk: dit veld geeft u enkele opties voor automatisch aanvullen met uw S3-bucketnamen. Het gebruik hiervan kan echter problemen veroorzaken bij het omleiden naar het bucket-eindpunt. Gebruik dus in plaats daarvan rechtstreeks het bucket-eindpunt. Origin Id: dit wordt voor u ingevuld wanneer u Origin Domain Name invoert. Viewer Protocol-beleid: ingesteld op âÃÂÃÂHTTP omleiden naar HTTPSâÃÂÃÂ. Alternatieve domeinnamen: deze moeten overeenkomen met de naam van de S3-bucket waarnaar u verwijst. Bijvoorbeeld âÃÂÃÂmijnwebsite.com. SSL Certificaat: Selecteer âÃÂÃÂAangepast SSL CertificaatâÃÂàen selecteer uw nieuwe certificaat in de vervolgkeuzelijst Doe dit opnieuw voor de tweede S3-bucket Het kan even duren voordat de distributies op gang komen, dus terwijl we wachten, laten we de laatste stappen doen Terug in **S3 ga naar uw secundaire bucket (www.mywebsite.com), op het tabblad Eigenschappen en onder Statische website-hosting stelt u het omleidingsprotocol in op HTTPS Ga ten slotte terug naar **Route53 We moeten de aangepaste A-records die we hebben gemaakt bijwerken om nu de CloudFront-distributies te targeten in plaats van de S3-buckets. Wijzig voor elk record het aliasdoel en selecteer de beschikbare CloudFront-distributie in de vervolgkeuzelijst Opmerking: nogmaals, als u een andere DNS-service gebruikt, moet u het CNAME-record vanaf daar bijwerken om naar de CloudFront-domeinnaam te verwijzen En daar heb je het! Uw prachtige website is nu beschikbaar op het aangepaste domein en wordt geleverd met HTTPS! Bedankt voor het lezen! Ik hoop dat deze gids nuttig en plezierig was, ik zou graag willen weten of je het nuttig vond.