ni Georgia Nola # Simpleng pagho-host ng site gamit ang Amazon S3 at HTTPS Hi mga kabayan! Sa tutorial na ito, ipapakita ko sa iyo kung paano mag-host ng static na website na may HTTPS sa AWS na may custom na domain. Ang lahat ng ito ay posible gamit ang AWS free tier Gayunpaman, ang mga serbisyong gagamitin namin ay may maliit na singil. Sa pangkalahatan, ang mga ito ay hindi dapat lumampas sa $1/buwan Gagamit kami ng kumbinasyon ng mga sumusunod na serbisyo ng AWS: âÃÂÃÂS3 âÃÂàRuta53 âÃÂàTagapamahala ng sertipiko âÃÂàCloudFront *Tara pasok na tayo!* I-setup ang iyong mga S3 bucket Una, kakailanganin mo **dalawang S3 bucket ang parehong dapat tumugma sa iyong custom na domain name sa pangalawa kasama ang www subdomain Bucket 1: Balde 2: Ang unang bucket (mywebsite.com) ay ang pangunahing bucket para sa iyong site. Naglalaman ito ng lahat ng iyong file at asset para sa iyong static na website Susunod na ise-setup namin ang bucket na ito para sa static na pagho-host ng site. Mahahanap mo ito sa ilalim ng tab na Properties ng bucket, at papanatilihin namin ang mga default na ibinigay dito kasama ang index ng site na nakatakda sa index.html Kailangan din nating gawing accessible ang bucket na ito dahil kakailanganin ng browser ng user na i-access ang mga file ng bucket upang mai-render ang website. Magagawa namin ito sa pamamagitan ng pagtatakda ng Patakaran sa Bucket sa ilalim ng tab na Mga Pahintulot { "Bersyon": "2012-10-17", "Pahayag": [ { "Sid": "PublicReadGetObject", "Effect": "Allow", "Principal":"Action": "s3:GetObject", "Resource": "MY_BUCKET_ARN"} ]} Ito ay isang simpleng patakaran na magbibigay-daan lamang sa pampublikong read access ng mga bagay sa bucket. Ngayon, kung pupunta ka sa endpoint na tinukoy sa static na hosting config ng bucket, dapat mong makita ang iyong website Progreso! Ngunit magagawa natin ang mas mahusay kaysa doon Ang pangalawang bucket (www.mywebsite.com) ay iiwan naming walang laman ngunit iko-configure upang mag-redirect sa aming unang bucket gamit ang HTTP bilang protocol (gagawin namin itong HTTPS sa ibang pagkakataon) Ang iyong mga balde ay handa na ngayong gamitin! I-configure ang Mga Domain gamit ang Route53 Kaya ang iyong website ay gumagana at gumagana ngunit maa-access lamang sa pamamagitan ng bucket endpoint at hindi ang iyong custom na domain. Baguhin natin 'yan Tumungo sa **Route53 Kung nairehistro mo ang iyong domain sa Amazon Registrar dapat mong makita na ang isang hosted zone ay na-setup para sa iyo na may dalawang record set. Isa para sa Name Server (NS) at isa para sa SOA Ang kailangan lang nating gawin ay lumikha ng dalawa pang record set para tumuro sa mga endpoint ng S3 bucket Para sa bawat set ng record: âÃÂàUri: A âÃÂàIPv4 address âÃÂàAlias: Oo âÃÂàAlias ​​Target: ang endpoint ng S3 website na tumutugma sa itinakda mo para sa Pangalan Ngayon ay maaari na tayong pumunta sa custom na urlâÃÂæand voilÃÂà! Malapit na tayo, pero may isang huling bagay na nawawala sa atin. ÃÂæ **Tandaan Kung ang iyong domain ay nakarehistro sa ibang domain registrar (hindi Amazon) kailangan mong sundin ang ilang iba't ibang mga hakbang upang i-set up ito. Karaniwang kailangan mong magdagdag ng CNAME record na may halaga ng pangunahing S3 bucket endpoint. **Pag-troubleshoot Kung tinanggal mo ang naka-host na zone na ginawa ng Amazon noong una mong irehistro ang domain (ginawa ko na ito dahil may ilang singil ang mga naka-host na zone), ikaw ay Kailangan gumawa ng bagong hosted zone mula sa simula - Piliin ang âÃÂÃÂGumawa ng Hosted ZoneâÃÂàat itakda ang domain name, halimbawa âÃÂÃÂmywebsite. comâÃÂà- Ito ay bubuo ng ilang bagong record set para sa mga uri ng NS at SOA - Pumunta sa iyong rehistradong domain at i-update ang mga value ng Name Servers sa mga nabuo sa bagong set ng tala ng NS Paghiling ng Sertipiko Kahanga-hanga, ang site ay naka-host na ngayon gamit ang custom na url! Gayunpaman maaari lamang namin itong ma-access sa pamamagitan ng HTTP protocol Dapat nating tiyakin na ang ating mga site ay ligtas gamit ang HTTPS protocol. Pinoprotektahan nito ang aming site at mga user mula sa mga nakakahamak na pag-atake ng injection at ginagarantiyahan ang pagiging tunay Tumungo sa **Certificate Manager** sa AWS Console at humiling ng bagong pampublikong certificate (ito ay libre). Ipo-prompt ka na ilagay ang mga domain name na gusto mong i-secure Bago maibigay ang sertipiko, kailangang ma-verify ng Amazon na pagmamay-ari mo ang mga tinukoy na domain Maaari kang pumili mula sa dalawang paraan ng pag-verify: Email o DNS Sa pangkalahatan ay mas simple ang email, ngunit kailangan mong tiyaking maa-access mo ang email na ginamit upang irehistro ang domain. Bilang kahalili, kung gumamit ka ng Amazon Registrar at Route53, maaari mong piliin ang paraan ng DNS. Ito ay nangangailangan sa iyo na magdagdag ng ilang partikular na record set sa naka-host na zone, ngunit ito ay halos awtomatiko para sa iyo kaya ito ay medyo simple. Maaaring tumagal ng ilang minuto para maibigay ang sertipiko pagkatapos ng pagpapatunay Kapag natapos na ang lahat, maaari tayong magpatuloy sa huling hakbang! Pag-configure ng CloudFront Para sa huling hakbang na gagamitin natin **CloudFront **na nagpapahintulot sa amin na gamitin ang bagong SSL certificate upang ihatid ang website gamit ang HTTPS. Pinapabilis din ng CloudFront ang pamamahagi ng nilalaman ng web sa pamamagitan ng pag-iimbak nito sa maramihang mga gilid na lokasyon at paghahatid mula sa pinakamalapit na gilid na lokasyon sa isang user Kailangan namin **dalawang bagong pamamahagi sa web isa para sa bawat S3 bucket. Tumungo sa CloudFront sa AWS Console at gawin ang unang pamamahagi sa web Mayroong maraming mga setting na magagamit upang lumikha ng isang pamamahagi sa web, ngunit para sa mga pangunahing kaalaman kailangan lang naming baguhin ang lima: Pangalan ng Pinagmulan ng Domain: Itakda ito sa endpoint ng website ng S3 para sa isa sa mga bucket. Mahalaga: Bibigyan ka ng field na ito ng ilang mga opsyon sa awtomatikong pagkumpleto sa iyong mga pangalan ng S3 bucket. Gayunpaman, ang paggamit sa mga ito ay maaaring magdulot ng mga isyu sa pag-redirect sa bucket endpoint. Kaya sa halip ay gamitin ang bucket endpoint nang direkta. Origin Id: Na-populate ito para sa iyo kapag ipinasok mo ang Origin Domain Name. Patakaran sa Protocol ng Viewer: Itakda sa âÃÂÃÂI-redirect ang HTTP sa HTTPSâÃÂÃÂ. Mga Kahaliling Domain Name: Dapat itong tumugma sa pangalan ng S3 bucket na itinuturo mo. Halimbawa âÃÂÃÂmywebsite.comâÃÂÃÂ. SSL Certificate: Piliin ang âÃÂÃÂCustom SSL CertificateâÃÂàat piliin ang iyong bagong certificate mula sa dropdown Gawin itong muli para sa pangalawang S3 bucket Maaaring magtagal bago umikot ang mga pamamahagi, kaya habang naghihintay tayo, gawin natin ang mga hakbang sa pagtatapos. Bumalik sa loob **S3 pumunta sa iyong pangalawang bucket (www.mywebsite.com), sa tab na Properties at sa ilalim ng Static Website Hosting itakda ang redirect protocol sa HTTPS Sa wakas, bumalik sa **Route53 Kailangan naming i-update ang mga custom na A record na ginawa namin upang ma-target ngayon ang mga pamamahagi ng CloudFront kaysa sa mga S3 bucket. Para sa bawat tala, baguhin ang Alias ​​Target at piliin ang CloudFront distribution na available sa dropdown Tandaan: Muli, kung gumagamit ka ng isa pang serbisyo ng DNS, kakailanganin mong i-update ang CNAME record mula doon upang tumuro sa CloudFront domain name At nariyan ka na! Ang iyong magandang website ay available na ngayon sa custom na domain at inihahatid gamit ang HTTPS! Salamat sa pagbabasa! Umaasa ako na ang gabay na ito ay kapaki-pakinabang at kasiya-siya, gusto kong malaman kung nakita mong nakakatulong ito.