Error sending push to gateway (certificate has expired)


Some time ago server stopped sending push messages, telling us that (push gateway?) certificate has expired. But as my browser shows, SSL certificate for expires on January 18, 2022. Our Nginx’s SSL was not expiring yet, but I renewed it just in case.
So which certificate has expired?
Thanks is advance!

server.js:204 System ➔ error Error sending push to gateway (3 try) -> { Error: certificate has expired
    at TLSSocket.<anonymous> (_tls_wrap.js:1116:38)
    at emitNone (events.js:106:13)
    at TLSSocket.emit (events.js:208:7)
    at TLSSocket._finishInit (_tls_wrap.js:643:8)
    at TLSWrap.ssl.onhandshakedone (_tls_wrap.js:473:38) code: 'CERT_HAS_EXPIRED' }
System ➔ info Trying sending push to gateway again in 100000 milliseconds

Server Setup Information

  • Version of Rocket.Chat Server: 2.4.9
  • Operating System: Ubuntu 18.04
  • Deployment Method: Docker compose
  • Number of Running Instances: 1
  • DB Replicaset Oplog: Enabled
  • NodeJS Version: 8.15.1
  • MongoDB Version: 3.6.17
  • Proxy: Nginx
  • Firewalls involved: Access to Rocket.Chat server by public ip allowed only via 3001 nginx port

Any additional Information

Curl from server:

curl -v
* Rebuilt URL to:
*   Trying
* Connected to ( port 443 (#0)
* found 148 certificates in /etc/ssl/certs/ca-certificates.crt
* found 594 certificates in /etc/ssl/certs
* ALPN, offering http/1.1
* SSL connection using TLS1.2 / ECDHE_RSA_AES_128_GCM_SHA256
* server certificate verification failed. CAfile: /etc/ssl/certs/ca-certificates.crt CRLfile: none
* Closing connection 0
curl: (60) server certificate verification failed. CAfile: /etc/ssl/certs/ca-certificates.crt CRLfile: none
More details here:

curl performs SSL certificate verification by default, using a "bundle"
 of Certificate Authority (CA) public keys (CA certs). If the default
 bundle file isn't adequate, you can specify an alternate file
 using the --cacert option.
If this HTTPS server uses a certificate signed by a CA represented in
 the bundle, the certificate verification probably failed due to a
 problem with the certificate (it might be expired, or the name might
 not match the domain name in the URL).
If you'd like to turn off curl's verification of the certificate, use
 the -k (or --insecure) option.

I am having the same issue and submitted a support request on Saturday. This was the reply I recevied:

Thank you for reaching out. One of our intermediate certificates in the SSL chain has expired yesterday on
We are looking into it. Sorry for the inconveniences.

Seems like something they should be able to resolve quickly. I hope so.

Oh, sorry for duplicate issue, haven’t found yours. Hope it will be fixed soon!

No, I did not post to the forum. I sent a support request and got that email reply yesterday.

Anyway, thank you for your answer! :slight_smile:

This is now resolved. :slight_smile:

Yep, everything is fine, thank you!

1 Like