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

推荐订阅源

N
Netflix TechBlog - Medium
Spread Privacy
Spread Privacy
Cloudbric
Cloudbric
V
Vulnerabilities – Threatpost
博客园 - 叶小钗
I
Intezer
S
Secure Thoughts
Jina AI
Jina AI
T
Tenable Blog
博客园 - 【当耐特】
WordPress大学
WordPress大学
W
WeLiveSecurity
宝玉的分享
宝玉的分享
Recent Commits to openclaw:main
Recent Commits to openclaw:main
Google DeepMind News
Google DeepMind News
Schneier on Security
Schneier on Security
OSCHINA 社区最新新闻
OSCHINA 社区最新新闻
B
Blog RSS Feed
Martin Fowler
Martin Fowler
Hacker News - Newest:
Hacker News - Newest: "LLM"
S
Schneier on Security
cs.CV updates on arXiv.org
cs.CV updates on arXiv.org
IT之家
IT之家
小众软件
小众软件
P
Privacy & Cybersecurity Law Blog
V
Visual Studio Blog
S
Securelist
M
MIT News - Artificial intelligence
H
Help Net Security
Scott Helme
Scott Helme
N
News and Events Feed by Topic
SecWiki News
SecWiki News
Threat Intelligence Blog | Flashpoint
Threat Intelligence Blog | Flashpoint
博客园_首页
Microsoft Azure Blog
Microsoft Azure Blog
P
Proofpoint News Feed
博客园 - 司徒正美
Hugging Face - Blog
Hugging Face - Blog
The Cloudflare Blog
T
Tailwind CSS Blog
A
About on SuperTechFans
The Last Watchdog
The Last Watchdog
S
Security @ Cisco Blogs
大猫的无限游戏
大猫的无限游戏
cs.AI updates on arXiv.org
cs.AI updates on arXiv.org
奇客Solidot–传递最新科技情报
奇客Solidot–传递最新科技情报
Apple Machine Learning Research
Apple Machine Learning Research
H
Heimdal Security Blog
T
The Blog of Author Tim Ferriss
Blog — PlanetScale
Blog — PlanetScale

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 Programmatic webhooks Email page views Tag statistics Discord webhook formatting Automatic subscriber cleanup RSS subscriber count Weekly subscriber reports More list columns Customizable list views How Max Voltar turned a side gig into a trusted keyboard resource How Nick Disabato runs two newsletters from one design consultancy Made-for-you share images Automation improvements End-of-email surveys Filter by date Survey-triggered automations More automation functionality New webhooks How France Insider built a news service with paid subscribers Email as primary key How John Willshire unites two businesses in one newsletter Confirmation reminders Email churned subscribers Email-to-draft Subscriber metadata columns ChatGPT integration Faster web archives Referral program Better search results TikTok embeds Subscriber timeline Spotify embeds Improved RSS-to-email Subscribe page OG image New analytics page Google Tag Manager Even more subscriber types Integrating Duda with Buttondown Linktree integration guide Advanced and enterprise plans Framer integration guide API requests page Team collaboration In-email surveys Better CSS settings Better RSS automation fetching! Editor toolbar improvements Smart filters Faster emails page RSS automations Faster email analytics Zapier error codes Image accessibility checks Tags vs newsletters OG image picker Image editor improvements API bulk actions Improved OpenAPI spec Mastodon support Better subscriber filtering Better subscriber validation Hotkey support! Programmatic access to analytics Stronger bulk actions Faster archive page Custom canonical URLs Email slug and metadata Improved writing interface Generating a Typescript router in Django Filter emails by source
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.