# Renew SSL for ghost sites on DigitalOcean

**URL:** <https://forum.ghost.org/t/renew-ssl-for-ghost-sites-on-digitalocean/17694>\
**Category:** Developer help\
**Created:** [October 16, 2020, 12:57pm UTC](https://forum.ghost.org/t/renew-ssl-for-ghost-sites-on-digitalocean/17694 "2020-10-16T12:57:58Z")\
**Posts on this page:** 5\
**Page:** 1

<div class="post-metadata">

**Author:** ![harishchouhan](https://sea1.discourse-cdn.com/flex015/user_avatar/forum.ghost.org/harishchouhan/32/183_2.png) [@harishchouhan](https://forum.ghost.org/u/harishchouhan)\
**Post date:** [October 16, 2020, 12:57pm UTC](https://forum.ghost.org/t/renew-ssl-for-ghost-sites-on-digitalocean/17694/1 "2020-10-16T12:57:58Z")

</div>

So earlier this year my 2 Ghost sites on my DO server had their SSL expire. I tried everything suggested at [How to renew default let's encrypt ssl?](https://forum.ghost.org/t/how-to-renew-default-lets-encrypt-ssl/1019) and it did not work.

So I set up the entire server again. Now the same issue. The SSL did not auto-renew and I can’t seem to find a way to renew them.

Does anyone have any steps to debug?

I first ran this command:  
“/etc/letsencrypt”/acme.sh --upgrade --home “/etc/letsencrypt”  
**The results were:**  
[Sat Oct 17 07:22:21 UTC 2020] Already uptodate!  
[Sat Oct 17 07:22:21 UTC 2020] Upgrade success!

Than I entered:  
“/etc/letsencrypt”/acme.sh --cron --home “/etc/letsencrypt” \> /dev/null

The results were:  
[Sat Oct 17 07:31:42 UTC 2020] [stretch.themeist.com](http://stretch.themeist.com):Verify error:Invalid response from [http://stretch.themeist.com/.well-known/acme-challenge/FHhS6J7YH4VOnoTf9WI7gdJcxmXOoj75xwuKfNsmr8s](http://stretch.themeist.com/.well-known/acme-challenge/FHhS6J7YH4VOnoTf9WI7gdJcxmXOoj75xwuKfNsmr8s) [164.90.196.33]:  
[Sat Oct 17 07:31:42 UTC 2020] Please check log file for more details: /etc/letsencrypt/acme.sh.log  
[Sat Oct 17 07:31:42 UTC 2020] Error renew [stretch.themeist.com](http://stretch.themeist.com).

---

<div class="post-metadata">

**Author:** ![harishchouhan](https://sea1.discourse-cdn.com/flex015/user_avatar/forum.ghost.org/harishchouhan/32/183_2.png) [@harishchouhan](https://forum.ghost.org/u/harishchouhan)\
**Post date:** [October 17, 2020, 7:45am UTC](https://forum.ghost.org/t/renew-ssl-for-ghost-sites-on-digitalocean/17694/2 "2020-10-17T07:45:34Z")

</div>

I followed the steps listed on [`ghost setup ssl`: Error, can not get domain token entry - #6 by PaszaVonPomiot](https://forum.ghost.org/t/ghost-setup-ssl-error-can-not-get-domain-token-entry/9426/6).

It renews the first domain setup when I created the DO. But I still get the same error for the 2nd domain I have created using ghost CLI.

---

<div class="post-metadata">

**Author:** ![harishchouhan](https://sea1.discourse-cdn.com/flex015/user_avatar/forum.ghost.org/harishchouhan/32/183_2.png) [@harishchouhan](https://forum.ghost.org/u/harishchouhan)\
**Post date:** [October 18, 2020, 5:59am UTC](https://forum.ghost.org/t/renew-ssl-for-ghost-sites-on-digitalocean/17694/3 "2020-10-18T05:59:17Z")

</div>

When I use the following command, I get this error:

```auto
oot@ghost-ubuntu-s-1vcpu-1gb-ams3-01:/etc# /root/.acme.sh/acme.sh --remove --domain 'stretch.themeist.com' --debug
[Sun Oct 18 05:55:28 UTC 2020] Lets find script dir.
[Sun Oct 18 05:55:28 UTC 2020] _SCRIPT_='/root/.acme.sh/acme.sh'
[Sun Oct 18 05:55:28 UTC 2020] _script='/root/.acme.sh/acme.sh'
[Sun Oct 18 05:55:28 UTC 2020] _script_home='/root/.acme.sh'
[Sun Oct 18 05:55:28 UTC 2020] Using default home:/root/.acme.sh
[Sun Oct 18 05:55:28 UTC 2020] Using config home:/root/.acme.sh
https://github.com/acmesh-official/acme.sh
v2.8.8
[Sun Oct 18 05:55:28 UTC 2020] Running cmd: remove
[Sun Oct 18 05:55:28 UTC 2020] Using config home:/root/.acme.sh
[Sun Oct 18 05:55:28 UTC 2020] default_acme_server
[Sun Oct 18 05:55:28 UTC 2020] ACME_DIRECTORY='https://acme-v02.api.letsencrypt.org/directory'
[Sun Oct 18 05:55:28 UTC 2020] DOMAIN_PATH='/root/.acme.sh/stretch.themeist.com'
[Sun Oct 18 05:55:28 UTC 2020] **stretch.themeist.com is not a issued domain** , skip.
root@ghost-ubuntu-s-1vcpu-1gb-ams3-01:/etc# is not a issued domain, skip.

```

Based on my understanding of this error, it looks like the SSL was not setup for the 2nd website I setup. But if that is the case then how did SSL did work until it expired.

---

<div class="post-metadata">

**Author:** ![kmwallio](https://sea1.discourse-cdn.com/flex015/user_avatar/forum.ghost.org/kmwallio/32/10048_2.png) [@kmwallio](https://forum.ghost.org/u/kmwallio)\
**Post date:** [October 24, 2020, 5:11am UTC](https://forum.ghost.org/t/renew-ssl-for-ghost-sites-on-digitalocean/17694/4 "2020-10-24T05:11:08Z")

</div>

Did you try `sudo certbot renew --dry-run` ?

If that doesn’t work, or show that it’ll work, can you share `ls /etc/nginx/sites-available/` and the configurations for your domains? Sometimes the tool is picky about file names or how the site configuration looks.

---

<div class="post-metadata">

**Author:** ![dana](https://sea1.discourse-cdn.com/flex015/user_avatar/forum.ghost.org/dana/32/1396_2.png) [@dana](https://forum.ghost.org/u/dana)\
**Post date:** [October 29, 2020, 2:45am UTC](https://forum.ghost.org/t/renew-ssl-for-ghost-sites-on-digitalocean/17694/5 "2020-10-29T02:45:55Z")

</div>

Hey there,

I know it’s not directly solving the problem, but on one site while I was trying to fix SSL, I just started using Cloudflare, with strict SSL. Was a lot more stress-free.

By the way, if you do that, remember that you have to turn off proxy on cloudflare to set up SSL again on your home domain.

On your problem — I’ve actually never seen that language btw. I usually use something like `certbot --nginx` and let it do its magic. Is that something you can try?
