惯性聚合 高效追踪和阅读你感兴趣的博客、新闻、科技资讯
阅读原文 在惯性聚合中打开

推荐订阅源

S
SegmentFault 最新的问题
G
Google Developers Blog
Stack Overflow Blog
Stack Overflow Blog
WordPress大学
WordPress大学
OSCHINA 社区最新新闻
OSCHINA 社区最新新闻
罗磊的独立博客
月光博客
月光博客
IT之家
IT之家
爱范儿
爱范儿
Google DeepMind News
Google DeepMind News
小众软件
小众软件
C
Check Point Blog
B
Blog RSS Feed
H
Help Net Security
博客园 - 司徒正美
L
LangChain Blog
MongoDB | Blog
MongoDB | Blog
B
Blog
The Cloudflare Blog
Apple Machine Learning Research
Apple Machine Learning Research
Microsoft Security Blog
Microsoft Security Blog
M
MIT News - Artificial intelligence
N
Netflix TechBlog - Medium
钛媒体:引领未来商业与生活新知
钛媒体:引领未来商业与生活新知

Buttondown's blog

Email could have been X.400 times better The physicists who convinced Fermilab to send Brazil's emails Better in-app previews Analytics 3.0 Subscriber ID variables Comments! Send latest premium action Automation filtering Free API subscribers Surveys in automations Reply to replies Labels for RSS feeds How Jeremy Singer-Vine curates curious datasets for readers 2023 (and what's next) Email vs web content Sort by engagement Better gift subscriptions How Andy Dehnart built a career reviewing television New email template Email-based automations Opt-in reply tracking Automatic alt text More social network integrations Sort by metadata Overlarge image warnings Automation tag actions Pause emails mid-flight Search tags and automations Gift via automations Subscriber-driving emails
Public postmortem: tracked links unavailable
Matias Artopoulos Kozak · 2026-06-03 · via Buttondown's blog

TL;DR

On May 8th, our tracking domains (buttondown-0000.com through buttondown-0009.com) experienced downtime from around 20:30 to 21:42 UTC, which caused the links in emails from newsletters with tracking enabled to be unavailable.

This was caused by Heroku resetting the DNS targets for these domains, making the DNS targets previously set invalid. This made the TLS certificates for these domains to be invalid, which meant that Heroku couldn't serve HTTPS traffic to users.

How we detect the issue?

Unfortunately, our automated systems weren't monitoring tracking domains specifically, so we were alerted by user reports instead of automated systems. This is not acceptable, and we have taken steps to actively monitor all endpoints, not just our main ones.

How did we mitigate the issue?

At 21:07 UTC we set the new DNS targets for the domains and requested Heroku to refresh the ACM certificates intending that it would emit new, valid certificates. While this worked for buttondown-0009, -0006 and -0003, it didn't seem to be working for the rest of the tracking domains. This might've been related to the Let's Encrypt downtime that was happening around the same time.

At 21:39 UTC we deployed a mitigation for the rest of the domains by leveraging the Cloudflare proxy to handle HTTPS instead of Heroku. This worked immediately and restored access to all domains.

How will we prevent this from happening again?

  1. We're improving our monitoring to notice these issues sooner, including traditional uptime monitors but also TLS certificate monitoring and metric analysis to detect unexpectedly low traffic.
  2. We're working on better internal documentation to act faster if/when these type of issues happen again.
  3. We haven't been able to identify why Heroku reset the DNS targets for the domains, but we've contacted them for more information. Our best guess is a Heroku issue, potentially related to our use of CNAME flattening in those domains.
  4. We were already looking into migrating our domain ingress to another platform since before this incident, and we will be prioritizing these efforts to replace Heroku as our main hosting provider.