Need IP to connect custom domain name on Zeit - deployment

I need some help please. I am new to Now and Zeit. I have created a website with Next JS and deployed it properly on Zeit. I am trying to connect my custom domain to it (my client got it on arsys.es). However on arsys.es, if I want to change the nameservers, I need an IP for each of them and Zeit doens't provide me with one. I have tried as well using DNS entry and a CNAME using the data Zeit gives me for ALIAS but still not working. I contacted arsys.es and they told me on top of the CNAME I would need a A entry with an IP. Once again I can't get an IP from Zeit.
I have googled it a lot and can't find a solution.
Can anyone help at all please?
Thank you

Here is a break-down of options that you have:
UPDATE: There is an update in the "A record" option.
1. Use NameServers
When you insert a new production domain, Now will generate a set of NameServers for your domain.
Pros:
Doing any operation with Now will be very easy, since ZEIT is handling all DNS for you automatically.
You can insert DNS records using a CLI tool.
Apex domain can be used.
Cons:
There is no UI to manage DNS.
Propagation can take a while.
2. Use CNAME/ANAME/ALIAS:
Pros:
Only a subdomain will be available to ZEIT Now.
Your registrar/DNS provider will still control the DNS configuration.
Cons:
You need to add a CNAME for every subdomain that you want to use.
Apex domain can become problematic. Even when using ALIAS/ANAME, CDN performance can be affected.
3. CF Proxy:
Pros:
You can manage any records through Cloudflare DNS UI.
Cloudflare features.
Cons:
Advanced DNS knowledge may be required.
Apex domain can become problematic. Even when using ALIAS/ANAME, CDN performance can be affected.
CDN performance will be affected if the CF proxy is enabled.
CF CDN can interfere with ZEIT CDN.
4. A record:
Pros:
Easy to setup.
Cons:
UPDATE: This is no longer true. Read the edit below. A records are now recommended.
CDN will be disabled. Not a problem if you are serving a single region.
The site can go down if ZEIT Now purges the IP that you are using. I highly recommend that you use the solutions above.
UPDATE: Since the rebrand, Vercel launched a new edge network. All users can use "76.76.21.21" and it is a permanent IP that belongs to the company. Blog link

Unless you point your DNS entries to Zeit's nameservers, Zeit doesn't do A records. It does ANAME records and CNAME records. Most DNS providers don't offer ANAME records, so you're stuck with a CNAME. The apex domain, however, cannot be a CNAME. So what you need to do is setup a CNAME for www.yourdomain.com and then point your apex A record to a domain forwarding service, which will forward any request for yourdomain.com to www.yourdomain.com.

You can simply use the lastest vercel feature, which is to use A record pointing to the dedicated IP of 76.76.21.21, however in route 53, remember to use "blank" instead of the "#" when setting up.

Related

How a domain automatically fetch website content from another server when first server is down?

I have a domain and 2 servers. I put same website content in both servers. Suppose, if one server is down or hacked, the domain must show from second server. Can you help me with alternative options.
I heard on A records but not clear on that..or any other alternatives?
You can use Loadbalancing for example Apache loadbalancer where you can configure this scenario.

Cloudflare proxy - always US IP?

How it's possible that Cloudflare proxy has always US IP address or Google, Netflix and etc when i access on their websites from Asia, why i don't see some Asia IP (I expected the most close server to me and not in US).
Why i connect like first to US IP, ok, they will have some kind of load balancer server, but for the most low latency for TTFB why it's works like that or is the US IP address associated to some Asia server?? What is the trick?
I tried find some info how it's works but it's always same answer and doesn't explain anything for me..it's just saying that it's in power of DNS..I know about GEO DNS, but there is my end, but simple GEO DNS will always show different IP then is there another layer of something?
I'm just lost..
As far as I know, the "proxy" feature of Cloudflare will always display and "use" an US based IP-Address.
Your request is still sent to the nearest Cloudflare data center (somewhere in Asia, in your case).
But the "proxy" IP (which is static), is always the same.
Not entirely sure though, might as well be worth contacting their support team and asking for exact information on this.

Setup a server that can detect IP addresses of clients

I am trying to set up what is possibly a webserver that can detect the IP addresses of the clients that try to access the webpage. In the simplest terms.
1)Let there be a table on the website.
2)Each time a client requests the website, its IP address gets added to the entry of the table.
I have made a webserver before using apache tomcat and even nodejs. But I have no idea how to detect IP adresses. I would also like to know if its possible to set this up online, in the cheapest possible way.
Perhaps nodejs would work using request.connection.remoteAddress, as in this example.

How to maintain a static URL with HAProxy

I am using Haproxy with two different nodes having different machines 'geographically scattered'
Load-balancer-one having dns = http1.example.com
Load-balancer-two having dns = http2.example.com
The service is listening on DNS main site with original hostname --haproxy
My question is how to maintain a static URL? i.e. it must not show the back-end server domain's or IPs, I want to show only original hostname.
The simplest method is to setup a round robin DNS entry that returns the IP addresses of both servers.
You likely however want to use a GSLB (global server load balancing) solution that can remove failed load balancers from responses based on a health check. If you are in multiple data centers, some GSLB solutions can route users to the most performant location for them.
F5 and Netscaler have hardware GSLB solutions. Dyn, Akamai, UltraDNS and others offer GSLB as a service. AWS' Route53 has a weighted round robin solution. They do not currently offer health checking or routing based on geographic location.

How to create an SaaS Application?

I don't know how else to say it so I'm just going to explain my ideal scenario and hopefully you can explain to me how to implement it...
I'm creating an application with the Zend Framework that will be hosted with DreamHost. The application will be hosted on its own domain (i.e. example-app.com). Basically, a user should be able to sign up, get their own domain sampleuser.example-app.com or example-app.com/sampleuser which points to, what looks like their own instance of the app, which is really a single instance serving up different content based on the url.
Eventually, I want my users to be able to create their own domain (like foobar.com) that points to sampleuser.example-app.com, such that visitors to foobar.com don't notice that the site is really being served up from example-app.com.
I don't know how to do most of that stuff. How does this process work? Do I need to do some funky stuff with Apache or can this be done with a third party host, like DreamHost?
Update: Thanks for the advice! I've decided to bite the bullet and upgrade my hosting plan to utilize wildcard subdomains. It's cheaper than I was expecting! I also found out about domain reseller programs, like opensrs.com, that have their own API. I think using one of these APIs will be the solution to my domain registration issue.
Subdomains are easy. In hosting environements, in most cases, apache is configured to catch all subdomain calls below the main domain. You just need to have a wildcard DNS defined, so *.example-app.com are pointed to IP of your server. Then your website should catch all calls to those subdomain names.
Other domains are hard. They need to be configured as virtual hosts in Apache - see http://httpd.apache.org/docs/1.3/vhosts/name-based.html - that means it will be difficult to automate that, especially in hosting environement - unless your host gives you some API to do just that (easy and more feasible scenario would be to have a distinctive IP assigned to your website, then you can catch all with your Apache - it's probably possible to configure using your hosting control panel or works out of the box - and then just point DNS servers to your IP).
Then, after you have configured your Apache to point all necessary calls to your website, you can differnetiate application partitions per subdomain in this way:
get the host header from HTTP request
have a database table containing all subdomain names you're serving
make a lookup to that database table to determine instance, or user, id and use it later for filtering data / or selecting a database, if you'll go with a "database per application instance" schema.
Good luck :)