Search code examples
djangoherokuhttpsdnsnamecheap

Do I need to buy an SSL certificate for my new domain?


I was hosting my app on Heroku and it said it was "secure" in the domain bar with no problem. I have the following setting on:

SECURE_SSL_REDIRECT = True

Now I added my own domain and reconfigured my app to point to the domain. Did I lose some sort of SSL by doing this?

Sometimes now I get an error when I try to load the webpage that says:

ERR_SSL_UNRECOGNIZED_NAME_ALERT


Solution

  • Maybe.

    Heroku provides HTTPS automatically for default myapp.herokuapp.com domains, but for custom domains you'll have to do a bit of extra work.

    ACM

    The easiest solution is to use Automated Certificate Management, which is powered by Let's Encrypt. This can be as easy as running

    heroku certs:auto:enable
    

    However, this feature is only available for paid dynos. It's "free" in the sense that it is included with paid dynos, but if you aren't already on a paid dyno you'll have to upgrade to use it.

    Heroku SSL

    If you don't want to use ACM for whatever reason, you can also bring your own certificate with Heroku SSL. Configuration is a bit more involved, but you get more control over the certificate vendor and you can use it with free dynos if you wish.