That Old Certificate Expired and Started an Outage. This is What Happened Next - Shopify
Jan 12, 2022

Summary
This post details an incident where the expiration of Let's Encrypt's old root certificate caused internal certificate errors due to a stale `cacert.pem` file within the Ruby `httpclient` library. The emergency fix involved forking the `httpclient` repository, updating `cacert.pem` with a current bundle, and using this fork. The post also discusses the delay in observing the issue due to HTTP keep-alive connections and the impact on various services, including product recommendations, marketing campaigns, and order confirmations. It highlights the importance of monitoring internal certificate stores and the potential for using system root certificates as a long-term solution.
More from the DNS Traffic Management for Resiliency trail
- Let’s Encrypt x Shopify: Securing the Web 4.5 Million Domains at a Time - Shopify
- Using DNS Traffic Management to Add Resiliency to Shopify’s Services - Shopify
- An Introduction to DNS Traffic Management - Shopify
- A Brief History of TLS Certificates at Shopify - Shopify
- Engineering a Historic Moment: Shopify Gets Ready for Cannabis in Canada - Shopify