I have a domain on one app (
app-a) and wants to move it to another app (
app-b) with minimal downtime.
There are two main ways you can approach this issue.
- Find an ideal time to bear small amounts of downtime on your app.
- When the time comes, remove domain(s) from
- Add domain(s) to
- Update DNS targets and wait for propagation to complete
If you're using a newer Heroku DNS target - which looks like
random-rabbit-1234.herokudns.com - then you won't have to update your DNS targeting. If you're using an older DNS Target - which looks like
app-1.herokudns.com - then you'll be required to update your DNS Target as they'll be generated in an entirely new endpoint format.
- Find an ideal time to bear small amounts of downtime
- When the time comes, provision the Heroku SSL Endpoint Add-On against
- For each domain, add an SSL Certificate to SSL Endpoint
- Update DNS targets to point at the SSL Endpoint targets (you can find these via:
At this point, the SSL Endpoint is essentially acting as cover for us to move the domains from one app to the other. Thus, its really only a better solution when you have a lot of domains to move between apps. When all is propagated, you'll want to do the following:
- Remove domains from
- Add domains to
- Update DNS to point towards DNS Targets on
- Deprovision SSL Endpoint Add-On on