Clear-Site-Data 响应头需在 Apache 虚拟主机中显式配置并配合后端登出逻辑使用,通过 Header always set Clear-Site-Data "*" 启用,支持精细化控制清理范围如 cookies、storage、cache 等。
在 apache 虚拟主机中配置 clear-site-data 响应头,可以让用户点击登出时主动清除浏览器中该站点的 cookie、缓存、存储等敏感数据,提升隐私安全性。它不是自动触发的,需配合后端逻辑(如登出接口)显式返回该头。
确认模块已启用
确保 headers_module 已加载。检查 Apache 配置中是否有:
LoadModule headers_module modules/mod_headers.so
若使用 Debian/Ubuntu,通常默认启用;CentOS/RHEL 可通过以下命令确认:
a2enmod headers # Debian/Ubuntu<br>httpd -M | grep headers # RHEL/CentOS
在虚拟主机配置中添加 Clear-Site-Data 头
编辑对应虚拟主机的配置文件(如 /etc/apache2/sites-available/example.com.conf 或 /etc/httpd/conf.d/example.com.conf),在 <virtualhost></virtualhost> 块内添加:
Header always set Clear-Site-Data "\"*\""
注意:
• 必须用双引号包裹 "*",且内部需转义为 "\"*\""(Apache 2.4+ 语法要求);
• always 表示无论响应状态码如何(包括 302 跳转或 200 登出页)都生效;
• 若只想对特定路径(如 /logout)生效,可用 <location></location> 包裹该行。
Apache Superset 是一个广泛采用的开源 BI 平台,用于 SQL 探索、图表构建和仪表板交付。当代理需要查询仓库数据、组装仪表板或使用成熟的分析界面解释指标而不是临时笔记本代码时,此技能非常有用。
配合后端登出逻辑使用
Clear-Site-Data 不会自动执行,必须由登出响应携带。常见做法:
- 后端(PHP/Python/Node.js 等)在处理登出请求时,返回 HTTP 状态码 200 或 302,并确保响应头包含
Clear-Site-Data: "*"; - 若登出后重定向到首页,建议:先返回一个中间登出页(如
/logged-out),该页面响应头含Clear-Site-Data,再用 JS 或 meta refresh 跳转,避免重定向导致头被忽略; - 不推荐仅靠前端 JS 设置(如
document.cookie = ""),因无法清除 localStorage、service worker 缓存等,Clear-Site-Data是唯一能统一清理的标准化方案。
可选:精细化控制清理范围
若不想清空全部("*"),可指定具体类型:
Header always set Clear-Site-Data "\"cookies\", \"storage\", \"cache\""
支持的值包括:"cookies"、"storage"(localStorage/sessionStorage/IndexedDB 等)、"cache"、"executionContexts"(关闭所有相关 tab 的 JS 上下文)。多个值用英文逗号分隔,并整体用双引号包裹。

















