{"id":73,"date":"2018-09-19T23:07:01","date_gmt":"2018-09-20T03:07:01","guid":{"rendered":"https:\/\/www.ps2pdf.com\/blog\/?p=73"},"modified":"2018-09-19T23:49:06","modified_gmt":"2018-09-20T03:49:06","slug":"how-to-use-aws-cloudfront-and-route-53-to-serve-web-content","status":"publish","type":"post","link":"https:\/\/www.xconvert.com\/blog\/how-to-use-aws-cloudfront-and-route-53-to-serve-web-content","title":{"rendered":"How To Use AWS CloudFront And Route 53 To Serve Web Content"},"content":{"rendered":"<p>(Featured Image: Something that resemble lightning speed. Taken by <a href=\"https:\/\/unsplash.com\/@andersjilden\">Anders Jild\u00e9n<\/a>, xoz, your site above to be super fast)<\/p>\n<h2>Intended Users:<\/h2>\n<p>If your situation is similar to what describes bellow, then this article is for you.<\/p>\n<ol>\n<li>You have a domain name, on Route 53 or with other service provider (i.e. NameCheap.com) and your DNS provider is Route 53 (<a href=\"https:\/\/docs.aws.amazon.com\/Route53\/latest\/DeveloperGuide\/migrate-dns-domain-in-use.html\">You can do this easily<\/a>) .<\/li>\n<li>You want to serve your content on <strong>www.example.com<\/strong> and want to use CloudFront CDN<\/li>\n<li>You have a server (any server with HTTPD or NGINX) and have enough access to change the web servers configuration. I.e. httpd.conf or nginx.conf<\/li>\n<li>You want to point http:\/\/example.com, https:\/\/example.com and http:\/\/www.example.com to https:\/\/www.example.com for SEO reasons<\/li>\n<li>You don&#8217;t intend to serve any dynamic content (through <a href=\"https:\/\/developer.mozilla.org\/en-US\/docs\/Web\/HTTP\/Methods\">HTTP GET<\/a>) on your non-www or www if you <strong>only<\/strong> following this guide to setup . With minor changes you can serve dynamic content as well.<\/li>\n<\/ol>\n<p>Note: I am using a demo domain. It may not be up by the time you read this article.<\/p>\n<p>lets get started.<\/p>\n<h2>Setting Up Route 53<\/h2>\n<p><strong>STEP 1.<\/strong> Create a Hosted Zone on <a href=\"https:\/\/aws.amazon.com\/route53\">Route 53<\/a><\/p>\n<p><a href=\"https:\/\/www.ps2pdf.com\/blog\/wp-content\/uploads\/2018\/09\/02.-Enter-your-Domain-name-details.png\"><img loading=\"lazy\" decoding=\"async\" class=\"aligncenter wp-image-75 size-large\" src=\"https:\/\/www.ps2pdf.com\/blog\/wp-content\/uploads\/2018\/09\/02.-Enter-your-Domain-name-details-1024x510.png\" alt=\"\" width=\"697\" height=\"347\" srcset=\"https:\/\/www.xconvert.com\/blog\/wp-content\/uploads\/2018\/09\/02.-Enter-your-Domain-name-details-1024x510.png 1024w, https:\/\/www.xconvert.com\/blog\/wp-content\/uploads\/2018\/09\/02.-Enter-your-Domain-name-details-300x149.png 300w, https:\/\/www.xconvert.com\/blog\/wp-content\/uploads\/2018\/09\/02.-Enter-your-Domain-name-details-768x382.png 768w\" sizes=\"auto, (max-width: 697px) 100vw, 697px\" \/><\/a><\/p>\n<p><strong>STEP 2.<\/strong> Enter your Domain name details<\/p>\n<p><a href=\"https:\/\/www.ps2pdf.com\/blog\/wp-content\/uploads\/2018\/09\/02.-Enter-your-Domain-name-details.png\"><img loading=\"lazy\" decoding=\"async\" class=\"aligncenter wp-image-75 size-large\" src=\"https:\/\/www.ps2pdf.com\/blog\/wp-content\/uploads\/2018\/09\/02.-Enter-your-Domain-name-details-1024x510.png\" alt=\"\" width=\"697\" height=\"347\" srcset=\"https:\/\/www.xconvert.com\/blog\/wp-content\/uploads\/2018\/09\/02.-Enter-your-Domain-name-details-1024x510.png 1024w, https:\/\/www.xconvert.com\/blog\/wp-content\/uploads\/2018\/09\/02.-Enter-your-Domain-name-details-300x149.png 300w, https:\/\/www.xconvert.com\/blog\/wp-content\/uploads\/2018\/09\/02.-Enter-your-Domain-name-details-768x382.png 768w\" sizes=\"auto, (max-width: 697px) 100vw, 697px\" \/><\/a><\/p>\n<p><strong>STEP 3.<\/strong> Create a Record Set for your origin server where the AWS make request to get your content<\/p>\n<p><a href=\"https:\/\/www.ps2pdf.com\/blog\/wp-content\/uploads\/2018\/09\/03.-Create-a-Record-Set-for-your-origin-server-where-the-AWS-make-request-to-get-your-content.png\"><img loading=\"lazy\" decoding=\"async\" class=\"aligncenter wp-image-76 size-large\" src=\"https:\/\/www.ps2pdf.com\/blog\/wp-content\/uploads\/2018\/09\/03.-Create-a-Record-Set-for-your-origin-server-where-the-AWS-make-request-to-get-your-content-1024x537.png\" alt=\"\" width=\"697\" height=\"366\" srcset=\"https:\/\/www.xconvert.com\/blog\/wp-content\/uploads\/2018\/09\/03.-Create-a-Record-Set-for-your-origin-server-where-the-AWS-make-request-to-get-your-content-1024x537.png 1024w, https:\/\/www.xconvert.com\/blog\/wp-content\/uploads\/2018\/09\/03.-Create-a-Record-Set-for-your-origin-server-where-the-AWS-make-request-to-get-your-content-300x157.png 300w, https:\/\/www.xconvert.com\/blog\/wp-content\/uploads\/2018\/09\/03.-Create-a-Record-Set-for-your-origin-server-where-the-AWS-make-request-to-get-your-content-768x403.png 768w\" sizes=\"auto, (max-width: 697px) 100vw, 697px\" \/><\/a><\/p>\n<p>This record is needed for setting up CloudFront properly. Origin server is the server that host your content. Name can be anything, as long as when you entered&lt;whatever&gt;.filengin.com to address bar it should display your website.<\/p>\n<p><strong>STEP 4.<\/strong> Create 2 <strong>Record Set<\/strong> for <em><strong>www<\/strong><\/em>, one for IPv4 and one for IPv6 that points to your CloudFront distribution. <em>If you don&#8217;t use IPv6 then only for IPv4<\/em><\/p>\n<p><a href=\"https:\/\/www.ps2pdf.com\/blog\/wp-content\/uploads\/2018\/09\/04.-Create-a-2-Record-Set-for-www-one-for-IPv4-and-one-for-IPv6-that-points-to-your-CloudFront-distribution.png\"><img loading=\"lazy\" decoding=\"async\" class=\"aligncenter wp-image-77 size-large\" src=\"https:\/\/www.ps2pdf.com\/blog\/wp-content\/uploads\/2018\/09\/04.-Create-a-2-Record-Set-for-www-one-for-IPv4-and-one-for-IPv6-that-points-to-your-CloudFront-distribution-1024x384.png\" alt=\"\" width=\"697\" height=\"261\" srcset=\"https:\/\/www.xconvert.com\/blog\/wp-content\/uploads\/2018\/09\/04.-Create-a-2-Record-Set-for-www-one-for-IPv4-and-one-for-IPv6-that-points-to-your-CloudFront-distribution-1024x384.png 1024w, https:\/\/www.xconvert.com\/blog\/wp-content\/uploads\/2018\/09\/04.-Create-a-2-Record-Set-for-www-one-for-IPv4-and-one-for-IPv6-that-points-to-your-CloudFront-distribution-300x112.png 300w, https:\/\/www.xconvert.com\/blog\/wp-content\/uploads\/2018\/09\/04.-Create-a-2-Record-Set-for-www-one-for-IPv4-and-one-for-IPv6-that-points-to-your-CloudFront-distribution-768x288.png 768w\" sizes=\"auto, (max-width: 697px) 100vw, 697px\" \/><\/a><\/p>\n<p>I know, you still don&#8217;t have CloudFront distribution. Step 8 describes how to do that, for now just pretend that you have one. If you are reading this while creating the actual setup, then I recommend you jump to step 8 and finish that first.<\/p>\n<p><strong>STEP 5.<\/strong> Create a 2 Record Set for <em><strong>non-www<\/strong><\/em>, one for IPv4 and one for IPv6 that points to your server. IPv6 is optional.<\/p>\n<p><a href=\"https:\/\/www.ps2pdf.com\/blog\/wp-content\/uploads\/2018\/09\/05.-Create-a-2-Record-Set-for-non-www-one-for-IPv4-and-one-for-IPv6-that-points-to-your-server.png\"><img loading=\"lazy\" decoding=\"async\" class=\"aligncenter wp-image-78 size-large\" src=\"https:\/\/www.ps2pdf.com\/blog\/wp-content\/uploads\/2018\/09\/05.-Create-a-2-Record-Set-for-non-www-one-for-IPv4-and-one-for-IPv6-that-points-to-your-server-1024x514.png\" alt=\"\" width=\"697\" height=\"350\" srcset=\"https:\/\/www.xconvert.com\/blog\/wp-content\/uploads\/2018\/09\/05.-Create-a-2-Record-Set-for-non-www-one-for-IPv4-and-one-for-IPv6-that-points-to-your-server-1024x514.png 1024w, https:\/\/www.xconvert.com\/blog\/wp-content\/uploads\/2018\/09\/05.-Create-a-2-Record-Set-for-non-www-one-for-IPv4-and-one-for-IPv6-that-points-to-your-server-300x150.png 300w, https:\/\/www.xconvert.com\/blog\/wp-content\/uploads\/2018\/09\/05.-Create-a-2-Record-Set-for-non-www-one-for-IPv4-and-one-for-IPv6-that-points-to-your-server-768x385.png 768w\" sizes=\"auto, (max-width: 697px) 100vw, 697px\" \/><\/a><\/p>\n<p><strong>STEP 6.<\/strong> Create a CloudFront Distribution on Amazon AWS<\/p>\n<p><a href=\"https:\/\/www.ps2pdf.com\/blog\/wp-content\/uploads\/2018\/09\/6.-create-a-distribution-on-aws-cloudfront.png\"><img loading=\"lazy\" decoding=\"async\" class=\"aligncenter wp-image-79 size-large\" src=\"https:\/\/www.ps2pdf.com\/blog\/wp-content\/uploads\/2018\/09\/6.-create-a-distribution-on-aws-cloudfront-1024x497.png\" alt=\"\" width=\"697\" height=\"338\" srcset=\"https:\/\/www.xconvert.com\/blog\/wp-content\/uploads\/2018\/09\/6.-create-a-distribution-on-aws-cloudfront-1024x497.png 1024w, https:\/\/www.xconvert.com\/blog\/wp-content\/uploads\/2018\/09\/6.-create-a-distribution-on-aws-cloudfront-300x145.png 300w, https:\/\/www.xconvert.com\/blog\/wp-content\/uploads\/2018\/09\/6.-create-a-distribution-on-aws-cloudfront-768x372.png 768w\" sizes=\"auto, (max-width: 697px) 100vw, 697px\" \/><\/a><\/p>\n<p><strong>STEP 7.<\/strong> Select Web for delivery method<\/p>\n<p><a href=\"https:\/\/www.ps2pdf.com\/blog\/wp-content\/uploads\/2018\/09\/7.-Select-web-for-delivery-method.png\"><img loading=\"lazy\" decoding=\"async\" class=\"aligncenter wp-image-80 size-large\" src=\"https:\/\/www.ps2pdf.com\/blog\/wp-content\/uploads\/2018\/09\/7.-Select-web-for-delivery-method-1024x508.png\" alt=\"\" width=\"697\" height=\"346\" srcset=\"https:\/\/www.xconvert.com\/blog\/wp-content\/uploads\/2018\/09\/7.-Select-web-for-delivery-method-1024x508.png 1024w, https:\/\/www.xconvert.com\/blog\/wp-content\/uploads\/2018\/09\/7.-Select-web-for-delivery-method-300x149.png 300w, https:\/\/www.xconvert.com\/blog\/wp-content\/uploads\/2018\/09\/7.-Select-web-for-delivery-method-768x381.png 768w\" sizes=\"auto, (max-width: 697px) 100vw, 697px\" \/><\/a><\/p>\n<h2>Setting Up Amazon AWS CloudFront<\/h2>\n<p><strong>STEP 8<\/strong>. Choose the domain from which the CloudFront request content. This is where your files are hosted.<\/p>\n<p><a href=\"https:\/\/www.ps2pdf.com\/blog\/wp-content\/uploads\/2018\/09\/8.1-Choose-the-domain-from-which-CloudFront-get-the-content.png\"><img loading=\"lazy\" decoding=\"async\" class=\"aligncenter wp-image-81 size-large\" src=\"https:\/\/www.ps2pdf.com\/blog\/wp-content\/uploads\/2018\/09\/8.1-Choose-the-domain-from-which-CloudFront-get-the-content-1024x507.png\" alt=\"\" width=\"697\" height=\"345\" srcset=\"https:\/\/www.xconvert.com\/blog\/wp-content\/uploads\/2018\/09\/8.1-Choose-the-domain-from-which-CloudFront-get-the-content-1024x507.png 1024w, https:\/\/www.xconvert.com\/blog\/wp-content\/uploads\/2018\/09\/8.1-Choose-the-domain-from-which-CloudFront-get-the-content-300x148.png 300w, https:\/\/www.xconvert.com\/blog\/wp-content\/uploads\/2018\/09\/8.1-Choose-the-domain-from-which-CloudFront-get-the-content-768x380.png 768w\" sizes=\"auto, (max-width: 697px) 100vw, 697px\" \/><\/a><\/p>\n<p>As I mentioned above, this is the origin servers address. This is where AWS CloudFront feed its\u00a0CDN with your content.<\/p>\n<p><strong>STEP 9.<\/strong> Choose what to do when HTTP request comes and allowed methods<\/p>\n<p><a href=\"https:\/\/www.ps2pdf.com\/blog\/wp-content\/uploads\/2018\/09\/8.2-Choose-what-to-do-when-HTTP-request-comes-and-allowed-methods.png\"><img loading=\"lazy\" decoding=\"async\" class=\"aligncenter wp-image-82 size-large\" src=\"https:\/\/www.ps2pdf.com\/blog\/wp-content\/uploads\/2018\/09\/8.2-Choose-what-to-do-when-HTTP-request-comes-and-allowed-methods-1024x509.png\" alt=\"\" width=\"697\" height=\"346\" srcset=\"https:\/\/www.xconvert.com\/blog\/wp-content\/uploads\/2018\/09\/8.2-Choose-what-to-do-when-HTTP-request-comes-and-allowed-methods-1024x509.png 1024w, https:\/\/www.xconvert.com\/blog\/wp-content\/uploads\/2018\/09\/8.2-Choose-what-to-do-when-HTTP-request-comes-and-allowed-methods-300x149.png 300w, https:\/\/www.xconvert.com\/blog\/wp-content\/uploads\/2018\/09\/8.2-Choose-what-to-do-when-HTTP-request-comes-and-allowed-methods-768x382.png 768w\" sizes=\"auto, (max-width: 697px) 100vw, 697px\" \/><\/a><\/p>\n<p>Choose <em>&#8220;Redirect HTTP to HTTPS&#8221;<\/em> as it is a good SEO practice.<\/p>\n<p><strong>STEP 10.<\/strong> Choose a SSL certificated to use when HTTPS is used to communicate between client (your website users) and CloudFront<\/p>\n<p><a href=\"https:\/\/www.ps2pdf.com\/blog\/wp-content\/uploads\/2018\/09\/8.3-Choose-a-SSL-certificated-to-use-when-HTTPS-is-used-to-communicate-between-client-and-CloudFront.png\"><img loading=\"lazy\" decoding=\"async\" class=\"aligncenter wp-image-83 size-large\" src=\"https:\/\/www.ps2pdf.com\/blog\/wp-content\/uploads\/2018\/09\/8.3-Choose-a-SSL-certificated-to-use-when-HTTPS-is-used-to-communicate-between-client-and-CloudFront-1024x511.png\" alt=\"\" width=\"697\" height=\"348\" srcset=\"https:\/\/www.xconvert.com\/blog\/wp-content\/uploads\/2018\/09\/8.3-Choose-a-SSL-certificated-to-use-when-HTTPS-is-used-to-communicate-between-client-and-CloudFront-1024x511.png 1024w, https:\/\/www.xconvert.com\/blog\/wp-content\/uploads\/2018\/09\/8.3-Choose-a-SSL-certificated-to-use-when-HTTPS-is-used-to-communicate-between-client-and-CloudFront-300x150.png 300w, https:\/\/www.xconvert.com\/blog\/wp-content\/uploads\/2018\/09\/8.3-Choose-a-SSL-certificated-to-use-when-HTTPS-is-used-to-communicate-between-client-and-CloudFront-768x383.png 768w\" sizes=\"auto, (max-width: 697px) 100vw, 697px\" \/><\/a><\/p>\n<p>If &#8220;Custom SSL Certificate (example.com):&#8221; us grayed out, you need to create a certificated and validate it. This is a pretty easy step but you need to wait. Please checkout <a href=\"https:\/\/aws.amazon.com\/certificate-manager\/\">Amazon ACM<\/a> for more details. If you are already logged in to your amazon console, then visit <a href=\"https:\/\/console.aws.amazon.com\/acm\/home\">ACM<\/a> page.<\/p>\n<p><strong>STEP 11.<\/strong> Enable IPv6 (optionally) and create the Amazon CloudFront Distribution<\/p>\n<p><a href=\"https:\/\/www.ps2pdf.com\/blog\/wp-content\/uploads\/2018\/09\/8.4-Enable-IPv6-optionally-and-create-the-distribution.png\"><img loading=\"lazy\" decoding=\"async\" class=\"aligncenter wp-image-84 size-large\" src=\"https:\/\/www.ps2pdf.com\/blog\/wp-content\/uploads\/2018\/09\/8.4-Enable-IPv6-optionally-and-create-the-distribution-1024x507.png\" alt=\"\" width=\"697\" height=\"345\" srcset=\"https:\/\/www.xconvert.com\/blog\/wp-content\/uploads\/2018\/09\/8.4-Enable-IPv6-optionally-and-create-the-distribution-1024x507.png 1024w, https:\/\/www.xconvert.com\/blog\/wp-content\/uploads\/2018\/09\/8.4-Enable-IPv6-optionally-and-create-the-distribution-300x149.png 300w, https:\/\/www.xconvert.com\/blog\/wp-content\/uploads\/2018\/09\/8.4-Enable-IPv6-optionally-and-create-the-distribution-768x381.png 768w\" sizes=\"auto, (max-width: 697px) 100vw, 697px\" \/><\/a><\/p>\n<p><strong>STEP 12.<\/strong> Make sure you have a redirection for both http and https of non-www domain to www on your web server. I use Nginx as my web server. Following is what I have<\/p>\n<pre>server {\r\n    server_name filengin.com;\r\n    listen [::]:80; # IPv6\r\n    listen 80; # \r\n    listen [::]:443 ssl; # IPv6\r\n    listen 443 ssl; \r\n    # My certificate information ( Generated by LetsEncrypt )\r\n    ssl_certificate \/etc\/letsencrypt\/live\/filengin.com\/fullchain.pem; # managed by Certbot\r\n    ssl_certificate_key \/etc\/letsencrypt\/live\/filengin.com\/privkey.pem; # managed by Certbot\r\n    include \/etc\/letsencrypt\/options-ssl-nginx.conf; # managed by Certbot\r\n    ssl_dhparam \/etc\/letsencrypt\/ssl-dhparams.pem; # managed by Certbot\r\n    # Here I redirect all of the traffic, http or https,  \r\n    # coming to filengin.com, to www.filengin.com\r\n    return 301 $scheme:\/\/www.filengin.com$request_uri;\r\n}<\/pre>\n<p>Above code is simple code block to redirect any request that comes to filengin from port 80 and 433 to www.filengin.com. Notice here that if I replace &#8220;`$scheme:\/\/www.filengin.com$request_uri;&#8220;` with &#8220;`https:\/\/www.filengin.com$request_uri;&#8220;` then it would be more efficient. As you will see in bellow cURL request when someone access to\u00a0http:\/\/filengin.com, it take two 301 redirects to reach https:\/\/filengin.com<\/p>\n<p>That&#8217;s all folks. If you just changed your DNS to Route 53, then you might have to wait for few hours to see the change. It usually only takes few minutes. You can use following commands to verify that your redirects are working properly:<\/p>\n<pre>C:\\Users\\windows&gt;curl -I http:\/\/filengin.com\r\nHTTP\/1.1 301 Moved Permanently\r\nServer: nginx\/1.15.2\r\nDate: Thu, 20 Sep 2018 02:38:25 GMT\r\nContent-Type: text\/html\r\nContent-Length: 185\r\nConnection: keep-alive\r\nLocation: http:\/\/www.filengin.com\/<\/pre>\n<pre>C:\\Users\\windows&gt;curl -I https:\/\/filengin.com\r\nHTTP\/1.1 301 Moved Permanently\r\nServer: nginx\/1.15.2\r\nDate: Thu, 20 Sep 2018 02:38:50 GMT\r\nContent-Type: text\/html\r\nContent-Length: 185\r\nConnection: keep-alive\r\nLocation: https:\/\/www.filengin.com\/<\/pre>\n<pre>C:\\Users\\windows&gt;curl -I www.filengin.com\r\nHTTP\/1.1 301 Moved Permanently\r\nServer: CloudFront\r\nDate: Thu, 20 Sep 2018 02:38:58 GMT\r\nContent-Type: text\/html\r\nContent-Length: 183\r\nConnection: keep-alive\r\nLocation: https:\/\/www.filengin.com\/\r\nX-Cache: Redirect from cloudfront\r\nVia: 1.1 b6d436e59d565ae27dc9ecbb1f36a6d8.cloudfront.net (CloudFront)\r\nX-Amz-Cf-Id: CsY78EDy8sQzDJbgzbyT0FUWNAd_GECzROfT-SnaG2lPDYOpcefd5w==<\/pre>\n<p>As you may have noticed, all http:\/\/filengin.com, https:\/\/filengin.com, and http:\/\/www.filengin.com all points to https:\/\/www.filengin.com. Which is what we wants to do in the first place.<\/p>\n","protected":false},"excerpt":{"rendered":"<p>(Featured Image: Something that resemble lightning speed. Taken by Anders Jild\u00e9n, xoz, your site above to be super fast) Intended Users: If your situation is similar to what describes bellow, then this article is for you. You have a domain name, on Route 53 or with other service provider (i.e. NameCheap.com) and your DNS provider [&hellip;]<\/p>\n","protected":false},"author":1,"featured_media":94,"comment_status":"closed","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[1,3],"tags":[],"class_list":["post-73","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","category-uncategorized","category-web-development"],"yoast_head":"<!-- This site is optimized with the Yoast SEO plugin v27.6 - https:\/\/yoast.com\/product\/yoast-seo-wordpress\/ -->\n<title>How To Use AWS CloudFront And Route 53 To Serve Web Content<\/title>\n<meta name=\"description\" content=\"(Featured Image: Something that resemble lightning speed. Taken by Anders Jild\u00e9n, xoz, your site above to be super fast) Intended Users: If your situation\" \/>\n<meta name=\"robots\" content=\"index, follow, max-snippet:-1, max-image-preview:large, max-video-preview:-1\" \/>\n<link rel=\"canonical\" href=\"https:\/\/www.xconvert.com\/blog\/how-to-use-aws-cloudfront-and-route-53-to-serve-web-content\" \/>\n<meta property=\"og:locale\" content=\"en_US\" \/>\n<meta property=\"og:type\" content=\"article\" \/>\n<meta property=\"og:title\" content=\"How To Use AWS CloudFront And Route 53 To Serve Web Content\" \/>\n<meta property=\"og:description\" content=\"(Featured Image: Something that resemble lightning speed. Taken by Anders Jild\u00e9n, xoz, your site above to be super fast) Intended Users: If your situation\" \/>\n<meta property=\"og:url\" content=\"https:\/\/www.xconvert.com\/blog\/how-to-use-aws-cloudfront-and-route-53-to-serve-web-content\" \/>\n<meta property=\"og:site_name\" content=\"XConvert Blog\" \/>\n<meta property=\"article:publisher\" content=\"https:\/\/www.facebook.com\/xconvertcom\" \/>\n<meta property=\"article:published_time\" content=\"2018-09-20T03:07:01+00:00\" \/>\n<meta property=\"article:modified_time\" content=\"2018-09-20T03:49:06+00:00\" \/>\n<meta property=\"og:image\" content=\"https:\/\/www.xconvert.com\/blog\/wp-content\/uploads\/2018\/09\/photo-1513116917658-bdc8f9e49348.jpg\" \/>\n\t<meta property=\"og:image:width\" content=\"2400\" \/>\n\t<meta property=\"og:image:height\" content=\"1600\" \/>\n\t<meta property=\"og:image:type\" content=\"image\/jpeg\" \/>\n<meta name=\"author\" content=\"admin\" \/>\n<meta name=\"twitter:card\" content=\"summary_large_image\" \/>\n<meta name=\"twitter:creator\" content=\"@xconvert_com\" \/>\n<meta name=\"twitter:site\" content=\"@xconvert_com\" \/>\n<meta name=\"twitter:label1\" content=\"Written by\" \/>\n\t<meta name=\"twitter:data1\" content=\"admin\" \/>\n\t<meta name=\"twitter:label2\" content=\"Est. reading time\" \/>\n\t<meta name=\"twitter:data2\" content=\"4 minutes\" \/>\n<script type=\"application\/ld+json\" class=\"yoast-schema-graph\">{\"@context\":\"https:\\\/\\\/schema.org\",\"@graph\":[{\"@type\":\"Article\",\"@id\":\"https:\\\/\\\/www.xconvert.com\\\/blog\\\/how-to-use-aws-cloudfront-and-route-53-to-serve-web-content#article\",\"isPartOf\":{\"@id\":\"https:\\\/\\\/www.xconvert.com\\\/blog\\\/how-to-use-aws-cloudfront-and-route-53-to-serve-web-content\"},\"author\":{\"name\":\"admin\",\"@id\":\"https:\\\/\\\/www.xconvert.com\\\/blog\\\/#\\\/schema\\\/person\\\/953c746f3b5603e610ab7d739d85df67\"},\"headline\":\"How To Use AWS CloudFront And Route 53 To Serve Web Content\",\"datePublished\":\"2018-09-20T03:07:01+00:00\",\"dateModified\":\"2018-09-20T03:49:06+00:00\",\"mainEntityOfPage\":{\"@id\":\"https:\\\/\\\/www.xconvert.com\\\/blog\\\/how-to-use-aws-cloudfront-and-route-53-to-serve-web-content\"},\"wordCount\":707,\"image\":{\"@id\":\"https:\\\/\\\/www.xconvert.com\\\/blog\\\/how-to-use-aws-cloudfront-and-route-53-to-serve-web-content#primaryimage\"},\"thumbnailUrl\":\"https:\\\/\\\/www.xconvert.com\\\/blog\\\/wp-content\\\/uploads\\\/2018\\\/09\\\/photo-1513116917658-bdc8f9e49348.jpg\",\"articleSection\":[\"Uncategorised\",\"Web Development\"],\"inLanguage\":\"en-CA\"},{\"@type\":\"WebPage\",\"@id\":\"https:\\\/\\\/www.xconvert.com\\\/blog\\\/how-to-use-aws-cloudfront-and-route-53-to-serve-web-content\",\"url\":\"https:\\\/\\\/www.xconvert.com\\\/blog\\\/how-to-use-aws-cloudfront-and-route-53-to-serve-web-content\",\"name\":\"How To Use AWS CloudFront And Route 53 To Serve Web Content\",\"isPartOf\":{\"@id\":\"https:\\\/\\\/www.xconvert.com\\\/blog\\\/#website\"},\"primaryImageOfPage\":{\"@id\":\"https:\\\/\\\/www.xconvert.com\\\/blog\\\/how-to-use-aws-cloudfront-and-route-53-to-serve-web-content#primaryimage\"},\"image\":{\"@id\":\"https:\\\/\\\/www.xconvert.com\\\/blog\\\/how-to-use-aws-cloudfront-and-route-53-to-serve-web-content#primaryimage\"},\"thumbnailUrl\":\"https:\\\/\\\/www.xconvert.com\\\/blog\\\/wp-content\\\/uploads\\\/2018\\\/09\\\/photo-1513116917658-bdc8f9e49348.jpg\",\"datePublished\":\"2018-09-20T03:07:01+00:00\",\"dateModified\":\"2018-09-20T03:49:06+00:00\",\"author\":{\"@id\":\"https:\\\/\\\/www.xconvert.com\\\/blog\\\/#\\\/schema\\\/person\\\/953c746f3b5603e610ab7d739d85df67\"},\"description\":\"(Featured Image: Something that resemble lightning speed. Taken by Anders Jild\u00e9n, xoz, your site above to be super fast) Intended Users: If your situation\",\"breadcrumb\":{\"@id\":\"https:\\\/\\\/www.xconvert.com\\\/blog\\\/how-to-use-aws-cloudfront-and-route-53-to-serve-web-content#breadcrumb\"},\"inLanguage\":\"en-CA\",\"potentialAction\":[{\"@type\":\"ReadAction\",\"target\":[\"https:\\\/\\\/www.xconvert.com\\\/blog\\\/how-to-use-aws-cloudfront-and-route-53-to-serve-web-content\"]}]},{\"@type\":\"ImageObject\",\"inLanguage\":\"en-CA\",\"@id\":\"https:\\\/\\\/www.xconvert.com\\\/blog\\\/how-to-use-aws-cloudfront-and-route-53-to-serve-web-content#primaryimage\",\"url\":\"https:\\\/\\\/www.xconvert.com\\\/blog\\\/wp-content\\\/uploads\\\/2018\\\/09\\\/photo-1513116917658-bdc8f9e49348.jpg\",\"contentUrl\":\"https:\\\/\\\/www.xconvert.com\\\/blog\\\/wp-content\\\/uploads\\\/2018\\\/09\\\/photo-1513116917658-bdc8f9e49348.jpg\",\"width\":2400,\"height\":1600},{\"@type\":\"BreadcrumbList\",\"@id\":\"https:\\\/\\\/www.xconvert.com\\\/blog\\\/how-to-use-aws-cloudfront-and-route-53-to-serve-web-content#breadcrumb\",\"itemListElement\":[{\"@type\":\"ListItem\",\"position\":1,\"name\":\"Home\",\"item\":\"https:\\\/\\\/www.xconvert.com\\\/blog\"},{\"@type\":\"ListItem\",\"position\":2,\"name\":\"How To Use AWS CloudFront And Route 53 To Serve Web Content\"}]},{\"@type\":\"WebSite\",\"@id\":\"https:\\\/\\\/www.xconvert.com\\\/blog\\\/#website\",\"url\":\"https:\\\/\\\/www.xconvert.com\\\/blog\\\/\",\"name\":\"XConvert Blog\",\"description\":\"Blog for XConvert file converter\",\"potentialAction\":[{\"@type\":\"SearchAction\",\"target\":{\"@type\":\"EntryPoint\",\"urlTemplate\":\"https:\\\/\\\/www.xconvert.com\\\/blog\\\/?s={search_term_string}\"},\"query-input\":{\"@type\":\"PropertyValueSpecification\",\"valueRequired\":true,\"valueName\":\"search_term_string\"}}],\"inLanguage\":\"en-CA\"},{\"@type\":\"Person\",\"@id\":\"https:\\\/\\\/www.xconvert.com\\\/blog\\\/#\\\/schema\\\/person\\\/953c746f3b5603e610ab7d739d85df67\",\"name\":\"admin\",\"image\":{\"@type\":\"ImageObject\",\"inLanguage\":\"en-CA\",\"@id\":\"https:\\\/\\\/secure.gravatar.com\\\/avatar\\\/2e9491b416e8c0413e67d504a12509a0b56894bc1ef4b4293cec42a960b5cc63?s=96&d=mm&r=g\",\"url\":\"https:\\\/\\\/secure.gravatar.com\\\/avatar\\\/2e9491b416e8c0413e67d504a12509a0b56894bc1ef4b4293cec42a960b5cc63?s=96&d=mm&r=g\",\"contentUrl\":\"https:\\\/\\\/secure.gravatar.com\\\/avatar\\\/2e9491b416e8c0413e67d504a12509a0b56894bc1ef4b4293cec42a960b5cc63?s=96&d=mm&r=g\",\"caption\":\"admin\"},\"url\":\"https:\\\/\\\/www.xconvert.com\\\/blog\\\/author\\\/admin\"}]}<\/script>\n<!-- \/ Yoast SEO plugin. -->","yoast_head_json":{"title":"How To Use AWS CloudFront And Route 53 To Serve Web Content","description":"(Featured Image: Something that resemble lightning speed. Taken by Anders Jild\u00e9n, xoz, your site above to be super fast) Intended Users: If your situation","robots":{"index":"index","follow":"follow","max-snippet":"max-snippet:-1","max-image-preview":"max-image-preview:large","max-video-preview":"max-video-preview:-1"},"canonical":"https:\/\/www.xconvert.com\/blog\/how-to-use-aws-cloudfront-and-route-53-to-serve-web-content","og_locale":"en_US","og_type":"article","og_title":"How To Use AWS CloudFront And Route 53 To Serve Web Content","og_description":"(Featured Image: Something that resemble lightning speed. Taken by Anders Jild\u00e9n, xoz, your site above to be super fast) Intended Users: If your situation","og_url":"https:\/\/www.xconvert.com\/blog\/how-to-use-aws-cloudfront-and-route-53-to-serve-web-content","og_site_name":"XConvert Blog","article_publisher":"https:\/\/www.facebook.com\/xconvertcom","article_published_time":"2018-09-20T03:07:01+00:00","article_modified_time":"2018-09-20T03:49:06+00:00","og_image":[{"width":2400,"height":1600,"url":"https:\/\/www.xconvert.com\/blog\/wp-content\/uploads\/2018\/09\/photo-1513116917658-bdc8f9e49348.jpg","type":"image\/jpeg"}],"author":"admin","twitter_card":"summary_large_image","twitter_creator":"@xconvert_com","twitter_site":"@xconvert_com","twitter_misc":{"Written by":"admin","Est. reading time":"4 minutes"},"schema":{"@context":"https:\/\/schema.org","@graph":[{"@type":"Article","@id":"https:\/\/www.xconvert.com\/blog\/how-to-use-aws-cloudfront-and-route-53-to-serve-web-content#article","isPartOf":{"@id":"https:\/\/www.xconvert.com\/blog\/how-to-use-aws-cloudfront-and-route-53-to-serve-web-content"},"author":{"name":"admin","@id":"https:\/\/www.xconvert.com\/blog\/#\/schema\/person\/953c746f3b5603e610ab7d739d85df67"},"headline":"How To Use AWS CloudFront And Route 53 To Serve Web Content","datePublished":"2018-09-20T03:07:01+00:00","dateModified":"2018-09-20T03:49:06+00:00","mainEntityOfPage":{"@id":"https:\/\/www.xconvert.com\/blog\/how-to-use-aws-cloudfront-and-route-53-to-serve-web-content"},"wordCount":707,"image":{"@id":"https:\/\/www.xconvert.com\/blog\/how-to-use-aws-cloudfront-and-route-53-to-serve-web-content#primaryimage"},"thumbnailUrl":"https:\/\/www.xconvert.com\/blog\/wp-content\/uploads\/2018\/09\/photo-1513116917658-bdc8f9e49348.jpg","articleSection":["Uncategorised","Web Development"],"inLanguage":"en-CA"},{"@type":"WebPage","@id":"https:\/\/www.xconvert.com\/blog\/how-to-use-aws-cloudfront-and-route-53-to-serve-web-content","url":"https:\/\/www.xconvert.com\/blog\/how-to-use-aws-cloudfront-and-route-53-to-serve-web-content","name":"How To Use AWS CloudFront And Route 53 To Serve Web Content","isPartOf":{"@id":"https:\/\/www.xconvert.com\/blog\/#website"},"primaryImageOfPage":{"@id":"https:\/\/www.xconvert.com\/blog\/how-to-use-aws-cloudfront-and-route-53-to-serve-web-content#primaryimage"},"image":{"@id":"https:\/\/www.xconvert.com\/blog\/how-to-use-aws-cloudfront-and-route-53-to-serve-web-content#primaryimage"},"thumbnailUrl":"https:\/\/www.xconvert.com\/blog\/wp-content\/uploads\/2018\/09\/photo-1513116917658-bdc8f9e49348.jpg","datePublished":"2018-09-20T03:07:01+00:00","dateModified":"2018-09-20T03:49:06+00:00","author":{"@id":"https:\/\/www.xconvert.com\/blog\/#\/schema\/person\/953c746f3b5603e610ab7d739d85df67"},"description":"(Featured Image: Something that resemble lightning speed. Taken by Anders Jild\u00e9n, xoz, your site above to be super fast) Intended Users: If your situation","breadcrumb":{"@id":"https:\/\/www.xconvert.com\/blog\/how-to-use-aws-cloudfront-and-route-53-to-serve-web-content#breadcrumb"},"inLanguage":"en-CA","potentialAction":[{"@type":"ReadAction","target":["https:\/\/www.xconvert.com\/blog\/how-to-use-aws-cloudfront-and-route-53-to-serve-web-content"]}]},{"@type":"ImageObject","inLanguage":"en-CA","@id":"https:\/\/www.xconvert.com\/blog\/how-to-use-aws-cloudfront-and-route-53-to-serve-web-content#primaryimage","url":"https:\/\/www.xconvert.com\/blog\/wp-content\/uploads\/2018\/09\/photo-1513116917658-bdc8f9e49348.jpg","contentUrl":"https:\/\/www.xconvert.com\/blog\/wp-content\/uploads\/2018\/09\/photo-1513116917658-bdc8f9e49348.jpg","width":2400,"height":1600},{"@type":"BreadcrumbList","@id":"https:\/\/www.xconvert.com\/blog\/how-to-use-aws-cloudfront-and-route-53-to-serve-web-content#breadcrumb","itemListElement":[{"@type":"ListItem","position":1,"name":"Home","item":"https:\/\/www.xconvert.com\/blog"},{"@type":"ListItem","position":2,"name":"How To Use AWS CloudFront And Route 53 To Serve Web Content"}]},{"@type":"WebSite","@id":"https:\/\/www.xconvert.com\/blog\/#website","url":"https:\/\/www.xconvert.com\/blog\/","name":"XConvert Blog","description":"Blog for XConvert file converter","potentialAction":[{"@type":"SearchAction","target":{"@type":"EntryPoint","urlTemplate":"https:\/\/www.xconvert.com\/blog\/?s={search_term_string}"},"query-input":{"@type":"PropertyValueSpecification","valueRequired":true,"valueName":"search_term_string"}}],"inLanguage":"en-CA"},{"@type":"Person","@id":"https:\/\/www.xconvert.com\/blog\/#\/schema\/person\/953c746f3b5603e610ab7d739d85df67","name":"admin","image":{"@type":"ImageObject","inLanguage":"en-CA","@id":"https:\/\/secure.gravatar.com\/avatar\/2e9491b416e8c0413e67d504a12509a0b56894bc1ef4b4293cec42a960b5cc63?s=96&d=mm&r=g","url":"https:\/\/secure.gravatar.com\/avatar\/2e9491b416e8c0413e67d504a12509a0b56894bc1ef4b4293cec42a960b5cc63?s=96&d=mm&r=g","contentUrl":"https:\/\/secure.gravatar.com\/avatar\/2e9491b416e8c0413e67d504a12509a0b56894bc1ef4b4293cec42a960b5cc63?s=96&d=mm&r=g","caption":"admin"},"url":"https:\/\/www.xconvert.com\/blog\/author\/admin"}]}},"_links":{"self":[{"href":"https:\/\/www.xconvert.com\/blog\/wp-json\/wp\/v2\/posts\/73","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/www.xconvert.com\/blog\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/www.xconvert.com\/blog\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/www.xconvert.com\/blog\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/www.xconvert.com\/blog\/wp-json\/wp\/v2\/comments?post=73"}],"version-history":[{"count":11,"href":"https:\/\/www.xconvert.com\/blog\/wp-json\/wp\/v2\/posts\/73\/revisions"}],"predecessor-version":[{"id":96,"href":"https:\/\/www.xconvert.com\/blog\/wp-json\/wp\/v2\/posts\/73\/revisions\/96"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/www.xconvert.com\/blog\/wp-json\/wp\/v2\/media\/94"}],"wp:attachment":[{"href":"https:\/\/www.xconvert.com\/blog\/wp-json\/wp\/v2\/media?parent=73"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/www.xconvert.com\/blog\/wp-json\/wp\/v2\/categories?post=73"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/www.xconvert.com\/blog\/wp-json\/wp\/v2\/tags?post=73"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}