Can't view my static website, hosted with S3 and Route 53 - dns

I'm trying to get a static site set up using S3 and Route 53 for DNS. I've never used AWS before and my knowledge of DNS records is elementary.
Here's what I've done:
I own the domain metrosndbx.info
I've created a hosted zone in Route 53 for this domain
I've changed the nameservers for my domain to the nameservers given by Route 53 (I did this more than 48 hours ago)
I've added a CNAME record to my hosted zone that points to an S3 bucket: www.metrosndbx.info CNAME http://www.metrosndbx.info.s3-website-us-east-1.amazonaws.com/
My S3 bucket is called www.metrosndbx.info and is set up as a website, with a bucket policy that grants public permission according to the FAQ on Amazon's site.
Yet, my browser can't resolve www.metrosndbx.info. Though I can resolve the endpoint of the bucket: http://www.metrosndbx.info.s3-website-us-east-1.amazonaws.com/
Any ideas why my CNAME doesn't seem to be working. My knowledge of this is very limited, but a look here (http://mxtoolbox.com/SuperTool.aspx?action=a%3awww.metrosndbx.info) seems to return a CNAME record that looks right to me. Thanks for your help!

Your CNAME shouldn't contain the protocol. It should be "www.metrosndbx.info.s3-website-us-east-1.amazonaws.com" and not "http://www.metrosndbx.info.s3-website-us-east-1.amazonaws.com/".

Related

Firebase template domain verification and firebase hosting at the same time seems to fail

I'm after having associated a custom domain for firebase hosting and firebase dynamic links, I was trying to setup a custom domain for authentificatio email templates. However verification for the authentification fail.
I'm using Namecheap for the DNS configuration.
Is it because the cname and # directive conflict one with each other ? I chose a subdomain for the authentification template mail:
Information is DNS servers is public information. Trying to answer what is wrong is very hard when you hide the information required.
Go to Google Domains Is your domain verified in Google Domains? If not complete that step first.
The CNAME resource records appear correct.
Most likely the last two TXT records are wrong. I am guessing that you are using something like app.example.com. The managed zone is example.com. The host is app. Your TXT records should only have *app without the managed zone example.com.
After you modify DNS server resource records be prepared to wait. Firebase will say up to 48 hours.
If my answer does not solve your problem you will either need to disclose your DNS server resource records or find someone that understands DNS to help you.

Route53 DNS returns proper info in internal tests but not with external ones

I've setup my personal website with github, figured out the DNS configs based on the following page. I used A records because those are used in Route53 configs and when I test my DNS routing for mydomainname.com with Route53 tool, I get the proper response.
i.e. the DNS returns me the required GitHub IPs as I configured. However, when I try to run dig mydomainname.com I get an empty response.
I'm confident that I've waited long enough for changes to propagate (probably more than two full days now) so what could be the issue here? Any advice on how to further troubleshoot the routing issues?
UPDATE:
Looked up my url's who is data.
DNS Hosting works with 2 steps: configuring the dns servers to answer queries, and delegating the domain to them.
The first part you seem to have working: you've set up a Route 53 Zone, configured the records, and have successfully resolved them from one of the nameservers in the NS record Route 53 configurd for you when you created the zone.
The second step is essentially to tell your registrar that when the public attempt to look up the domain, they should be referred to the route 53 servers you configured. By adding these same dns servers from the NS record in the working, public route 53 zone, you will delegate dns on that domain to those servers.
You registered your domain on amazon so it created a route53 zone for you, with matching DNS servers in it. Either you removed this zone or created another one. That's fine to do, but each zone costs 50 cents a month, so get in the habit of removing ones that aren't working. You can create any number of route 53 zones to serve the same domain, but the ones you put in the registrar are the ones the public will use to resolve the domain.
Once whois mydomain.tld ( or a web equivalent, if whois isn't available in your environment, like from your screenshot) shows the same nameservers that you can successfully query against with dig, you're golden. It might take some time for the registrar's setting to propagate; in practice this is typically on the order of minutes.

Custom domain verification failing with dreamhost and firebase

The custom domain verification is not working with Dreamhost hosted domain. The instructions specify to add the DNS TXT entries at domain registrar. But since the domain is hosted on dreamhost, domain registrar (GoDaddy) doesn't allow to edit the DNS entries. So I created DNS entries at the dreamhost panel. But even after 48 hours the verification keeps failing. Any ideas why?
I checked a similar question here but it doesn't help -
Unable to Verify Custom Domain with Firebase Using Namecheap
For gandi, you need to do the following (pro tip: edit your zone file in expert mode, it's simpler to understand what is being saved)
# 10800 IN TXT "firebase=SITE_NAME"
# 10800 IN TXT "globalsign-domain-verification=KEY"

Setup a multi level cname on Amazon Route 53 (name1.name2.domain.com)

I am using Route 53 and I have this problem.
I need a domain name with multiple tiers like: name1.name2.domain1.com to point to domain2.com/more/stuff
I tried adding name1.name2.domain1.com (example) to Route 53 as a cname and it does not work. Am I going about this wrong?
You can accomplish forwarding through an S3 bucket. If that doesn't work, you can point your domain name to your server and set it up as a parked domain (cpanel). Cpanel will allow you to setup a redirect on that parked domain.

Static hosting on Amazon S3 - DNS Configuration

I'm working on a little webapp (all client-side) I want to host it on Amazon S3. I've found several guides on this and have managed to create myself a bucket (with the same name as my domain), set it as a website and upload some content.
Where I'm struggling, and where all the documentation starts to get a bit vague, is how to properly configure my DNS.
All my registrar (123-reg) could suggest was web forwarding which gives me mydomain.com.s3.amazonaws.com
What do I have to configure, and where (ie. 123-reg / Amazon) can I get a clean URL?
Sounds like you've done most of the work already. For clarity I'll go over those steps again just to make sure you're set up properly:
Create an s3 bucket using your domain name as the bucket name (your bucket name should be www.example.com if you want your site to be example.com or www.example.com)
Upload your content to the s3 bucket. Choose a consistent name for your website index files (index.html usually). You can also upload a custom page for 404 Not Found errors. Call this 404.html. Give Read permissions to every file in your website so that the public can view it. Don't give any extra permissions to the bucket, just the files within.
Configure your bucket as a website. With the AWS console ( https://console.aws.amazon.com/s3/ ) you can select your bucket, click properties, then select the "Website" tab. Click enabled and set your index document to index.html and your error document to 404.html. You will also need to set your bucket with access permissions to allow access via the web (http://docs.amazonwebservices.com/AmazonS3/latest/dev/WebsiteAccessPermissionsReqd.html)
Take a note of the "Endpoint" URL in the website configuration tab. This is where your website lives. You can open the link in a new window and you should see your website just as it will look. Click around and make sure everything works as expected.
You MUST use the endpoint address in all steps below. The normal www.example.com.s3.amazonaws.com won't work - you need to use the regional version (http://www.example.com.s3-website-us-east-1.amazonaws.com/)
Now, we can set up the DNS to give you a clean, custom URL.
First, we will map www.example.com to your site.
Using your DNS provider's tools, (123-reg in your case) you need to create a CNAME record to map www.example.com to www.example.com.s3-website-us-east-1.amazonaws.com
The CNAME is the only thing you need if you just want www.example.com. Most people also want example.com to work so we need another step.
example.com is often referred to as a naked domain or the apex record of the domain. The reason it's a problem is that it can't be a CNAME. CNAMEs only work on subdomains like "www." This makes it more difficult to point at s3.
The usual approach is to use a service to automatically redirect any request going to example.com to point to www.example.com. This will then pick up your CNAME record and your site will be served from s3.
The automatic redirect is not possible with plain old DNS so you have to use another service. Some DNS providers offer this service along with their DNS (GoDaddy does, amazon route53 does not. Not sure about 123-reg)
If your DNS provider doesn't do it, there are a few free services. One that I've used is http://wwwizer.com/naked-domain-redirect - it doesn't require any registration or payment.
To use this type of service, you need to create a DNS "A" record for your naked domain. For the wwwizer.com service, you would need to create an A record to point example.com to 174.129.25.170. That's all!
So, with this setup, if a user types example.com into their browser, the following would happen:
DNS query: example.com -> 174.129.25.170 (wwwizer.com's service)
HTTP request to 174.129.25.170 for example.com
174.129.25.170 redirects example.com -> www.example.com
DNS query: www.example.com -> CNAME to www.example.com.s3-website-us-east-1.amazonaws.com
DNS query: www.example.com.s3-website-us-east-1.amazonaws.com -> points to Amazon S3
HTTP request for www.example.com is now served by Amazon S3
Enjoy!
Update 2019
As of today following DNS setting worked for me to get AWS S3 static website working :
I believe you must select all docs in your bucket, right click, and choose "Make Public". You must do this every time something changes in the bucket as well. I then usually right click on bucket, choose properties, choose permissions in right hand pane then add "Everyone as a "grantee" then give them only "list" permissions. The rest of your article is excellent. The part about the naked domain helped me resolve my issues. You can also have the naked domain redirected to the www domain within S3 under "Static Website Hosting" It's probably the easiest way.
Thanks again for all your help.
Tim
From the Advanced DNS screen on your 123-reg control panel
I started by clicking the "Reset DNS" button to the default 123-reg settings.
This gave me the following;
DNS EntryType PriorityTTLDestination/Target
* A 81.xx.xx.xx
# A 81.xx.xx.xx
# MX 10 xx0.123-reg.co.uk
# MX 20 xx1.123-reg.co.uk
I then added this entry
www CNAME www.example.com.s3-website-us-east-1.amazonaws.com
From their Manage DNS guide pdf it says the "# record" refers to "your domain in its purest form with no subdomain" ie the naked domain stackoverflow.com
But it doesn't mention what the "* record" is, I assumed it would be to catch all sub domains and thought it might over ride the CNAME record but this does not appear to be the case.

Resources