mirror of
https://github.com/mailcow/mailcow-dockerized.git
synced 2026-11-10 18:41:01 +00:00
[Nginx] Send Basic auth challenge for unauthenticated ActiveSync requests
Outlook for iOS/Android connects through Microsoft's sync service, which sends each EAS command without credentials first and only retries with Basic auth after a 401 + WWW-Authenticate challenge. SOGo answers these unauthenticated POSTs (Provision, FolderSync, Sync, ...) with 403, so the Outlook apps never get past Provision and show an empty mailbox (#5846). Answer requests without an Authorization header with a Basic challenge in nginx before they reach SOGo. Clients that send credentials up front are not affected.
This commit is contained in:
1 parent
ca8546fa4a
commit
8db3cae826
1 file changed
+6
@@ -184,6 +184,12 @@ location /sogo-auth-verify {
|
||||
}
|
||||
|
||||
location ^~ /Microsoft-Server-ActiveSync {
|
||||
# Outlook for iOS/Android (Microsoft's sync service) sends EAS commands without credentials
|
||||
# and only authenticates after a 401 Basic challenge. SOGo answers those with 403, so challenge here.
|
||||
if ($http_authorization = "") {
|
||||
add_header WWW-Authenticate 'Basic realm="SOGo"' always;
|
||||
return 401;
|
||||
}
|
||||
auth_request /sogo-auth-verify;
|
||||
auth_request_set $user $upstream_http_x_user;
|
||||
auth_request_set $auth $upstream_http_x_auth;
|
||||
|
||||
Reference in new issue
Block a user