微信域名申诉
微信域名申诉与Caddy+kkFileView配置问题排查笔记
一、问题背景
1.1 初始错误现象
访问 https://zdocs.zhaopeng.site/index_1786035542720.html?ck=vk01el5N 时出现:
Whitelabel Error Page
This application has no explicit mapping for /error, so you seeing this as a fallback.
Tue Aug 25 14:42:46 CST 2026
There was an unexpected error (type=Not Found, status=404).错误含义:Spring Boot 框架的默认404错误页面,表示服务器上不存在该URL对应的资源。
1.2 错误原因分类
- URL路径拼写错误
- 网站资源已被删除
- 网站维护或部署问题
二、微信申诉审核情况
2.1 第一次申诉结果
审核结果:不通过
不通过原因:域名 zhaopeng.site 下的链接 https://zdocs.zhaopeng.site/index_1786035542720.html?ck=vk01el5N 的内容违反《微信外部链接内容管理规范》第18条“其它违反国家法律法规的内容”,暂时无法恢复微信内直接访问的服务。
2.2 关键时间点
该审核结果是在将验证文件放入 /srv/docs/ 目录之前获得的。
三、Caddy反向代理配置
3.1 架构说明
- Caddy 作为反向代理
- 后端服务为 kkFileView(运行在容器中)
- 需要让微信验证文件(.txt)绕过 kkFileView,由 Caddy 直接提供静态文件服务
3.2 Caddyfile 配置
zdocs.zhaopeng.site {
handle /2d695757040021118c75b00ae3fa95b7.txt {
root * /srv/docs
file_server
}
handle {
reverse_proxy kkfile:8012 {
header_up X-Forwarded-Proto {scheme}
header_up X-Forwarded-Host {host}
header_up X-Forwarded-For {remote_host}
}
}
}配置要点:
- 验证文件的
handle规则必须放在通用handle规则之前,确保优先匹配 root * /srv/docs指定文件所在目录file_server让 Caddy 直接提供静态文件服务- 其他所有请求转发给 kkfile 容器处理
验证文件访问地址:https://zdocs.zhaopeng.site/2d695757040021118c75b00ae3fa95b7.txt
四、kkFileView 容器文件排查
4.1 进入容器查看文件
# 进入容器
docker exec -it kkfile /bin/bash
# 查看默认文件存放目录
ls -la /opt/kkFileView-4.1.0/file/demo/
# 全局搜索指定文件
find / -name "*index_1786035542720.html*" 2>/dev/null4.2 不进入容器的命令执行方式
# 查看 demo 目录
docker exec kkfile ls -la /opt/kkFileView-4.1.0/file/demo/
# 全局搜索文件
docker exec kkfile find / -name "*index_1786035542720.html*" 2>/dev/null
# 搜索所有 html 文件(排除第三方库目录)
docker exec kkfile find /opt -name "*.html" 2>/dev/null | grep -v node_modules4.3 容器内发现的相关文件
在 /opt/libreoffice7.3/help/index.html 发现了一个 index.html 文件。
文件性质:这是 LibreOffice 自带的帮助文档首页,是 kkFileView 依赖的办公软件转换组件的一部分,与微信违规文件无关,不能删除。
4.4 确认结果
违规文件 index_1786035542720.html 在容器中未找到,且通过浏览器访问该链接返回404错误,确认文件已被删除。
五、整改完成状态
5.1 验证检查结果
| 检查项目 | 状态 | 说明 |
|---|---|---|
| 违规文件是否可访问 | 不可访问 | 返回404 Whitelabel Error Page |
| 验证文件是否可访问 | 可访问 | Caddy直接提供静态文件服务 |
| LibreOffice 帮助文件 | 正常保留 | 系统文件,不影响 |
5.2 排查命令汇总
# 检查容器内文件
docker exec -it kkfile /bin/bash
ls -la /opt/kkFileView-4.1.0/file/demo/
find / -name "*1786035542720*" 2>/dev/null
# 检查宿主机目录
ls -la /srv/docs/
# 测试访问
curl -v https://zdocs.zhaopeng.site/index_1786035542720.html?ck=vk01el5N
curl -v https://zdocs.zhaopeng.site/2d695757040021118c75b00ae3fa95b7.txt六、重新申诉建议
6.1 申诉理由要点
在重新提交申诉时,应明确说明:
- 已彻底删除违规文件
index_1786035542720.html,当前访问该链接返回404状态码 - 已完成全站内容自查,未发现其他违规内容
- 已完成站长验证文件部署(
2d695757040021118c75b00ae3fa95b7.txt可正常访问) - 承诺今后严格遵守《微信外部链接内容管理规范》,合规运营
6.2 可能仍不通过的原因
- 微信缓存了之前的违规页面内容
- 域名下其他页面也存在违规问题
- 微信风控系统检测到对抗检查行为
6.3 备用方案
- 等待1-2天让微信缓存失效后再次申诉
- 通过邮件
moment@tencent.com联系腾讯官方反馈 - 如多次申诉无效,考虑更换新域名
七、关键经验总结
- Caddy配置中精准匹配规则要写在通用规则前面
- kkFileView容器中的LibreOffice系统文件不能误删
- 微信验证文件需由反向代理层直接处理,不能转发到后端应用
- 申诉前必须确保违规链接返回404而非任何内容
- 容器内文件排查可使用
docker exec组合命令操作