# Certificate Expired

**URL:** <https://community.fly.io/t/certificate-expired/9143>\
**Category:** General\
**Created:** [December 2, 2022, 11:47pm UTC](https://community.fly.io/t/certificate-expired/9143 "2022-12-02T23:47:35Z")\
**Posts on this page:** 8\
**Page:** 1

<div class="post-metadata">

**Author:** ![kevin](https://sea1.discourse-cdn.com/fly1/user_avatar/community.fly.io/kevin/32/40001_2.png) [@kevin](https://community.fly.io/u/kevin)\
**Post date:** [December 2, 2022, 11:47pm UTC](https://community.fly.io/t/certificate-expired/9143/1 "2022-12-02T23:47:35Z")

</div>

Hi,

I moved to [Fly.io](http://Fly.io) ~3 months ago from Heroku and was shocked to see my certificate expired without any warnings from [fly.io](http://fly.io). Unfortunately, when I was first alerted about the website being down, I thought it was a transient error and as a result I had about ~6 hours of downtime.

I had to delete the old certificate, create a new one, and then configure my DNS settings with the new certificate settings. The new certificate only lasts for 3 months as well.

Questions

- Why didn’t [Fly.io](http://Fly.io) warn me that my website would be down?
- Why are certificates only valid for 3 months?
- Is there an auto-renew feature or do I have to log into [fly.io](http://fly.io) every 90 days to renew the certificate?

---

<div class="post-metadata">

**Author:** ![kurt](https://sea1.discourse-cdn.com/fly1/user_avatar/community.fly.io/kurt/32/43757_2.png) [@kurt](https://community.fly.io/u/kurt)\
**Post date:** [December 3, 2022, 12:03am UTC](https://community.fly.io/t/certificate-expired/9143/2 "2022-12-03T00:03:47Z")

</div>

We auto renew certs if we can. 90 days is normal, we start trying to renew them at 60 days.

Do you remember how you had this configured before? If you’re using DNS validation, you need to leave the CNAME entry in place so we can keep renewing.

---

<div class="post-metadata">

**Author:** ![tom-turner](https://sea1.discourse-cdn.com/fly1/user_avatar/community.fly.io/tom-turner/32/15334_2.png) [@tom-turner](https://community.fly.io/u/tom-turner)\
**Post date:** [September 24, 2023, 7:26am UTC](https://community.fly.io/t/certificate-expired/9143/3 "2023-09-24T07:26:29Z")

</div>

I had this issue too this morning. Pretty unacceptable that we don’t at least get an email notification alerting us of any errors when it tries to renew at 60 days.

---

<div class="post-metadata">

**Author:** ![KevinColemanInc](https://avatars.discourse-cdn.com/v4/letter/k/46a35a/32.png) [@KevinColemanInc](https://community.fly.io/u/KevinColemanInc)\
**Post date:** [September 24, 2023, 1:56pm UTC](https://community.fly.io/t/certificate-expired/9143/4 "2023-09-24T13:56:11Z")

</div>

@tom-turner

I switched to the wild card domains (instead of a cert for each subdomain) and flyio has successfully auto-renewed since. But yep, super annoying to be offline for hours over a known problem.

---

<div class="post-metadata">

**Author:** ![lillian](https://sea1.discourse-cdn.com/fly1/user_avatar/community.fly.io/lillian/32/49616_2.png) [@lillian](https://community.fly.io/u/lillian)\
**Post date:** [September 24, 2023, 4:01pm UTC](https://community.fly.io/t/certificate-expired/9143/5 "2023-09-24T16:01:38Z")

</div>

The main reason we see for failing to auto-renew domains is when the certificate is set up with A/AAAA records, and then those records are changed afterwards - typically when using Cloudflare.  
We do support acme-challenge records for single-domain as well as wildcard certificates, but we could do a better job of showing that in the UI.

---

<div class="post-metadata">

**Author:** ![darwin67](https://sea1.discourse-cdn.com/fly1/user_avatar/community.fly.io/darwin67/32/15428_2.png) [@darwin67](https://community.fly.io/u/darwin67)\
**Post date:** [September 28, 2023, 6:07am UTC](https://community.fly.io/t/certificate-expired/9143/6 "2023-09-28T06:07:34Z")

</div>

This just happened to me.  
I checked my emails and I didn’t see any alerts regarding renewal failure, and my app was basically down for a while.

Could we at least get some kind of indication that it failed so I can take action on it?  
Especially if it needs manual intervention.

---

<div class="post-metadata">

**Author:** ![kot](https://sea1.discourse-cdn.com/fly1/user_avatar/community.fly.io/kot/32/46644_2.png) [@kot](https://community.fly.io/u/kot)\
**Post date:** [March 12, 2024, 4:44pm UTC](https://community.fly.io/t/certificate-expired/9143/7 "2024-03-12T16:44:56Z")

</div>

I also ran into this issue, both my certificates are expired while the CNAME \_acme-challenge is up.

---

<div class="post-metadata">

**Author:** ![kaze](https://avatars.discourse-cdn.com/v4/letter/k/ea666f/32.png) [@kaze](https://community.fly.io/u/kaze)\
**Post date:** [March 21, 2025, 1:26am UTC](https://community.fly.io/t/certificate-expired/9143/9 "2025-03-21T01:26:46Z")

</div>

can I hire you (serious offer)
