Do I still need to use a service like DNSimple if I want a naked domain for my Heroku app? - node.js

Researching past posts makes it seem like you have to use a service like DNSimple in order to have a naked domain (i.e. "example.com") for Heroku apps. I am wondering if that is still true, or if I can achieve this using only my app server.
I am using Namecheap BasicDNS and my app is a node/express app hosted on Heroku.
Thanks in advance for any tips. I am just trying to make sure before I purchase. Thank you.

You can't point your apex domain to an hostname (hence to Heroku), because you can't use a CNAME for the apex.
Consequently, the only way to point your root domain to a service like Heroku is by using a DNS provider that provides a CNAME-like feature for the root domain, that is what DNSimple calls ALIAS.
You can also find more information in the Heroku documentation.

Related

Adding webapp server to namecheap domain that is already in use for gmail domain service

I have setup a domain on namecheap and I'm currently using it for gmail/google workspace.
I would also like to deploy a webapp to the same domain - I have the site setup on digitalocean.
When I went through the process of adding the NS values to the domain panel in namecheap I realized it removed the server that allowed the email setup.
How do I safely service both the webapp and email servers from the same domain? Any help will be appreciated! Thanks in advance.
Figured it out - namecheap doesn't support what I want to do.. I can either
Use the two services it does support (wix or weebly)
Handle the email domain setup from digitalocean
On further reflection this definitely makes sense, but I wish it were slightly easier :P

If I host my nodejs application on Heroku or other hosting platform can I ignore serving my app using HTTPS?

I have started creating my own nodejs app (for the first time) that I hope to deploy at some point, perhaps to Heroku or another platform.
I need for my app to encrypt traffic namely for user passwords and sessions (note there is no other obviously sensitive data).
I started looking into serving my app using HTTPS (SSL) however I am now wondering if I need this. If my app is to be hosted and deployed using Heroku/other platform won't all requests be trafficked through their servers presumably using HTTPS by default? I am guessing that the request will then be routed using HTTP to my application, although I am struggling to understand how this works. Ultimately I would like to know if I can ignore worrying about paying for SSL certification and such like when it will not matter in this hosting environment?
Help much appreciated. Matt.
If you are using heroku then you must be using paid dyno( hobby or professional) and heroku provides free SSL to all paid dynos. Furthermore if you think that at some point you can switch hosting then there is always freessl available via Let's encrypt.
Heroku serves all requests with and without SSL in default herokuapp url.
Use cloudflare free plan. Open a free account in cloudflare, Copy the DNS. Then set the DNS in your domain service provider (godaddy or sth), then change the Cname config for the website inside cloudflare. Now you have a free certificate.

Multi-domain Routing and SSL on Node.js

I have a Node.js app that serves http requests. Users can signup, create an account and when they do, I generate a subdomain for them to use. eg username.example.com. This is fairly straight forward to do and can be served over ssl using a single certificate.
I would like to give the option for the user to use their own domain. From Node.js this isn't too difficult either. I can check the hostname and look up the account details from there.
I'm struggling to work out how to generate ssl's for these custom domains though.
Right now, my app runs on Heroku, but I also have a staging build on Google's App Engine, so I don't deal with the web server directly. In fact, I don't even know what it is, it could be Nginx or Apache.
To keep the conversation focused, let's stay I want to stick to app engine. When a user adds their own domain, I store it in the database. How would I auto generate an SSL for this?
I thought of general steps for this, but there is one showstopper which I'm not sure it is possible to workaround. The steps will be:
Map the user's domain to your application and configure the DNS records. You can do that with the gcloud commands: steps and general description outlined in this Mapping Custom Domains docs page (notice that you can switch between Console and GCloud in the boxes). There is also a possibility of doing that within the Cloud Console, however as you've mentioned you're interested in the programmatic approach. If you prefer to configure the custom domain from the API, the same functionality exists in App Engine Admin API with its REST resource for domain mappings.
Possible showstopper (source: Mapping Custom Domains) :
Verify that you are the owner of your domain through Webmaster Central
After that, App Engine provisions a managed certificate and then handles renewing/revoking it. Securing Custom Domains with SSL is still in beta, but it offers the functionality that you need.

Openshift 3 FREE- custom domain

I am trying to migrate my app from Openshift 2 FREE to Openshift 3 FREE. I've managed to do everything, but the custom domain. In OpenShift it was very easy - add an alias to the app + modify some CNAME records in your domain. Now I do not find it easy.
Could anyone elaborate?
OpenShift Online Starter does not support you being able to use a custom domain. Only OpenShift Online Pro support customs domains at this point in time.
The only way to have a custom domain with OpenShift Online Starter, is to use Cloudflare or other service which can act as a proxy in front and which accepts requests for your custom domain name and forwards on requests onto OpenShift at the generated hostname given you.

How to access server through custom domain?

I created a Node.JS server in Bluemix and everything runs fine. But I can only access it through the given Bluemix domains.
I tried to configure the CNAME on my domain provider TransIP but it doesn't work. And I also couldn't find a lot of documentation about it.
Can you point me to the right place or tell me how to do it?

Resources