Create a Custom Domain for Cloudant Using Cloudflare

What’s in a name? Proxy to get speed and protection too.

Glynn Bird
Jan 18, 2017 · 4 min read

This document is now obsolete — now that Cloudant no longer supports custom sub-domains, this is no longer a valid way of using a custom domain.

When signing up for an IBM Cloudant account through cloudant.com, you pick a username, which becomes the sub-domain of cloudant.com, e.g. janedoe.cloudant.com. If you create a Cloudant service inside Bluemix, then you are assigned a randomly-generated sub-domain like dd4f-de8e79e7--9652-4d92-fd347be5b308-bluemix.cloudant.com. If you want to assign a custom domain to your Cloudant account, then you could perform the DNS magic yourself, but it would leave you with the responsibility of dealing with the creation of an HTTPS certificate for your domain.

A much simpler alternative is to sign up for a Cloudflare account and let them do the heavy lifting! Cloudflare is a proxy service that sits between your users and your website handling caching, immunity to denial-of-serivce attacks, analytics, content optimisation, and lots more. In this case, we are going to place Cloudflare in front of a Cloudant account.

Image for post
Image for post

This article assumes you have your own custom domain name already (like janedoe.com) and have already signed up for a Cloudant account (like janedoe.cloudant.com). We want to create a new sub-domain: db.janedoe.com, which will work with HTTPS and whose traffic will be sent to Cloudant.

Sign up for Cloudflare

Visit www.cloudflare.com and create an account. Enter your custom domain name and let Cloudflare perform its initial scan.

Image for post
Image for post

Add a CNAME record

Once the Cloudflare scan of your existing domain is complete, we can tell Cloudflare that we wish to proxy db.janedoe.com to janedoe.cloudant.com. To do this, we create a CNAME record by completing the form:

Image for post
Image for post

Here, we choose the CNAME type from the pull-down list and enter the new sub-domain (db) and our target (janedoe.cloudant.com).

Tell Cloudant about your domain name

Cloudant also needs to know about this new naming strategy. In the Cloudant dashboard, select Account > Virtual Hosts and complete the form. Enter your new domain name (db.janedoe.com) and click the Add Domain button:

Image for post
Image for post

Testing

After a few minutes, you should be able to visit http://db.janedoe.com and https://db.janedoe.com (HTTPS may take up to 24 hours to take effect). That's it!

Note: If you bind your proxied Cloudant service to a Bluemix app, this mapping will not take effect because the VCAP_SERVICES entry for Cloudant will not reflect the new domain name.

Benefits of using Cloudflare and Cloudant

Cloudflare offers several benefits for Cloudant users

  • HTTP2. Cloudflare supports HTTP2/SPDY out of the box. So requests from HTTP2-compatible sources (like Google Chrome) would benefit from the smaller binary protocol, the single multiplexed connection, and the compressed headers that HTTP2 affords.
  • Free HTTPS. Your custom domain can be covered by a free HTTPS certificate without any fuss.
  • DDoS protection. If you are paying for a quota of Cloudant requests, then the last thing you want is for a bad actor to maliciously call your Cloudant account directly at your expense.
  • Compression. Traffic between the browser/user-agent and Cloudflare can be compressed, reducing the amount of bandwidth required to transmit or receive requests.
  • Caching. If you upgrade to a paid plan, then you can customise Cloudflare to cache certain requests to improve performance or to take some load from your Cloudant service.
  • Analytics. You can see the statistics of which URLs are being hit.

Conclusion

That’s how easy it is to set up a custom domain for your Cloudant service. If you use Cloudant on Bluemix, the process is the same. (To reach your Cloudant dashboard from Bluemix, just open the service and click Launch.) Then follow the steps outlined in this post. Enjoy your new custom domain, along with all the benefits of Cloudflare.

Center for Open Source Data and AI Technologies

Things we made with data at IBM’s Center for Open Source…

Medium is an open platform where 170 million readers come to find insightful and dynamic thinking. Here, expert and undiscovered voices alike dive into the heart of any topic and bring new ideas to the surface. Learn more

Follow the writers, publications, and topics that matter to you, and you’ll see them on your homepage and in your inbox. Explore

If you have a story to tell, knowledge to share, or a perspective to offer — welcome home. It’s easy and free to post your thinking on any topic. Write on Medium

Get the Medium app

A button that says 'Download on the App Store', and if clicked it will lead you to the iOS App store
A button that says 'Get it on, Google Play', and if clicked it will lead you to the Google Play store