ActiveSync: 无凭证的 EAS 请求返回 403,而不是 401 挑战,从而默认中断推送
作者: luckykiet创建于 2026年9月8日更新于 2026年9月8日
`data/web/sogo-auth.php` 返回 **HTTP 200,没有 `X-Auth` 头**,当内部 `auth_request` 子请求没有凭据时。nginx 然后用空值覆盖客户端的 `Authorization` 头,SOGo 接收到匿名请求并返回 **403**。根据 RFC 9110,没有凭据的受保护资源必须返回 **401 + `WWW-Authenticate`**。那些依赖挑战-响应而不是预防性基本身份验证的客户端无法完全为 ActiveSync 设备提供服务:它们读取 403 为致命错误并放弃。适用于 iOS 的 Outlook 会默默地回退到 IMAP,在 iOS 上无法交付推送通知,因此用户可见的症状是"没有推送",没有明显错误。
内容来源: mailcow/mailcow-dockerized