Hallo zusammen,
ich hoffe ihr könnt mir weiterhelfen.
Ich habe vor einiger Zeit die Migration von Exchange2016 auf Exchange2019 durchgeführt und den 2016er auch erfolgreich dekommisioniert.
Der Zugriff auf den Exchange fand jetzt die letzte Zeit immer nur aus dem internen Netz statt, daher gab es keine Probleme. Von extern wurde immer nur per ActiveSync zugegriffen, was auch klappt.
Nun ist aber aufgefallen, dass Outlook von extern immer wieder die Anmeldemaske bringt und sich nicht anmelden kann.
Der Exchange2019 ist hinter einem nginx, die Konfiguration hat mit Exchange2016 definitiv sauber funktioniert. Seitdem wurde nichts geändert (außer natürlich die IP im Proxy wohin die Anfragen gehen sollen).
Nginx Config:
#Abschnitt 1
server {
listen 80;
server_name mail.xxxxx.org autodiscover.xxxxxx.org;
<------>server_tokens off;.
# Redirect any HTTP request to HTTPS
return 301 https://$server_name$request_uri;
error_log /var/log/nginx/exchange-error.log;
access_log /var/log/nginx/exchange-access.log;
}
#Abschnitt 2
server {
listen 443;
server_name mail.xxxxxx.org autodiscover.xxxxxxx.org;
server_tokens off;.
client_max_body_size<-->100M;
# Enable SSL
ssl on;
ssl_certificate /etc/ssl/xxxxxx.org/schlund.crt;
ssl_certificate_key /etc/ssl/xxxxxx.org/schlund-decrypted.key;
ssl_session_timeout 5m;
# Set global proxy settings
proxy_read_timeout 360;
proxy_http_version 1.1;
proxy_pass_request_headers on;
proxy_pass_header Date;
proxy_pass_header Server;
proxy_set_header Host $host;
proxy_set_header X-Real-IP $remote_addr;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
proxy_set_header Accept-Encoding "";
more_set_input_headers 'Authorization: $http_authorization';
proxy_set_header Accept-Encoding "";
more_set_headers -s 401 'WWW-Authenticate: Basic realm="mail.xxxxxxx.org"';
location / { proxy_pass https://10.10.10.21/owa; }
location /owa { proxy_pass https://10.10.10.21/owa; }
location /OWA { proxy_pass https://10.10.10.21/owa; }........
location /EWS { proxy_pass https://10.10.10.21/EWS; }
location /ews { proxy_pass https://10.10.10.21/EWS; }........
location /Microsoft-Server-ActiveSync { proxy_pass https://10.10.10.21/Microsoft-Server-ActiveSync; }
location /mapi { proxy_pass https://10.10.10.21/mapi; }
location /MAPI { proxy_pass https://10.10.10.21/mapi; }........
location /rpc { proxy_pass https://10.10.10.21/Rpc; }
location /RPC { proxy_pass https://10.10.10.21/Rpc; }........
location /oab { proxy_pass https://10.10.10.21/OAB; }
location /OAB { proxy_pass https://10.10.10.21/OAB; }........
location /autodiscover { proxy_pass https://10.10.10.21/Autodiscover; }
location /Autodiscover { proxy_pass https://10.10.10.21/Autodiscover; }
error_log /var/log/nginx/exchange-ssl-error.log;
access_log /var/log/nginx/exchange-ssl-access.log;
}
Im Exchange sind die externen Verzeichnisse nach dem Powershellscript hier bei Franky gesetzt worden.
Für das MAPI Verzeichnis habe ich auch nochmals geprüft, sowohl im ECP als auch im IIS ist die Standartauthentifizierung aktiv.
Umgehe ich den NGINX von extern, d.h. geb ich Port 443 mal direkt in der Firewall an den Exchange, dann funktioniert auch der Zugriff.
Also irgendwo übersehe ich eine Einstellung im Exchange, dass der mit dem NGINX klar kommt.
Habt ihr da vielleicht eine Idee? Noch einen Vorschlag was ich prüfen könnte?
Grüße & Danke
Adrian
ich weiß nicht wie, aber MAPI scheint jetzt zu gehen, dafür fliegt mir RPC um die Ohren mit:
Attempting to ping RPC proxy mail.xxxxxx.org.RPC Proxy can't be pinged.
Moin Adrian & Forum,
ich habe das selbe Problem seit der Aktualisierung von Exchange 2016 CU 16 auf CU 17.
Bei mir funktioniert ebenfalls die Anmeldung durch den nginx Reverse Proxy bei MAPI und RPC over http nicht mehr.
Eventuell konnte ja jemand schon eine Lösung für dieses Problem finden :), ich musste den Reverse Proxy nun leider vorerst umgehen.
Hi,
zu nginx kann ich leider nix beisteuern.
Vielleicht habt ihr Alternativen bei Euch, die ihr (übergangsweise) nutzen könnt.
ADFS Proxy
Sophos
Kemp
ich nutze privat ADFS Proxy, firmentechnisch Kemp. Geht beides auch mit Exchange CU17.
Habt ihr schon mit Testexchangeconnectivity getestet von extern, wo es hängt? Alternativ nen Client mit Fiddler und ebenfalls den Aufbau loggenu nd dann analysieren.
Viel Erfolg,
Monthy
Tja, hat da Microsoft heimlich den Stecker gezogen? Jedenfalls sieht es so aus. Wenn man gezielt danach sucht, findet man auch etwas, was darauf hindeutet: https://redmondmag.com/articles/2019/06/21/microsoft-disabling-exchange-protocols.aspx .
Habe am Wochenende ebenfalls Nginx/Exchange 2019 zum fliegen bringen wollen, ohne Erfolg. Stutzig gemacht hat mich dann das Nginx-Logfile. Dort fehlt nämlich ein "WWW-Authenticate: Basic", versucht wird stattdessen "Negotiate", was Nginx vermutlich nicht unterstützt. Der Witz ist aber: Aktivieren lässt sich "Basic" ja auf dem Exchange, jedenfalls vermeintlich, über die GUI oder via PowerShell. Und wenn man alle Authentifizierungsverfahren bis auf "Basic" deaktiviert, bekommt Outlook einfach keine Verbindung mehr. Die lästigen Aufforderungen zur Eingabe seiner Zugangsdaten entfallen immerhin...
Angeboten wird Outlook aber trotzdem alles, außer das einzig Aktivierte:
Bei Exchange 2016 vor CU17 sieht's so aus:
Mittwoch wird auf CU17 upgedatet, ich schätze mal, dann sieht's aus wie auf dem ersten Bild. Zum Glück ist Nginx noch nicht produktiv...
Viel Geld für eine Kemp auszugeben für ein wenig Reverse-Proxy widerstrebt mir immer noch, auch wenn's nicht mein Geld ist.
Johannes
Überraschung! Outlook MAPI/HTTP läuft auch nach Update auf CU17 über den Nginx:
So gesehen gibt's ja noch Hoffnung für Dich...
@all
HAProxy kann wohl NTLM, aber außer bei EWS entscheidet sich mein Outlook immer für ein anderes Authentifizierungsverfahren als NTLM, oder sehe ich das jetzt nicht richtig?
Johannes
Nachtrag: Schon sch****, wenn man blöd ist:
1. Autodiscover wurde zum Produktivsystem umgeleitet. Dann kann's ja nicht funktionieren...
2. Tippfehler ausgerechnet im MAPI-Pfad.
Nun funktioniert's. MAPI over HTTP und NTLM via HAProxy.
Johannes
@adrianw Hallo, ich weiss dass Du geschrieben hast dass Du nicht weisst wie du MAPI zum laufen gebracht hast. Wäre es möglich deine nginx conf zu sehen für den exchange part ? ich habe dasselbe Problem seit Exchange 2019 und finde einfach keine Lösung. Vielen Dank und Gruss
meine aktuelle Config sieht wie folgt aus:
#Abschnitt 1
server {
listen 80;
server_name mail.--HOST-- autodiscover.--HOST--;
server_tokens off;.
# Redirect any HTTP request to HTTPS
return 301 https://$server_name$request_uri;
.
error_log /var/log/nginx/exchange-error.log;
access_log /var/log/nginx/exchange-access.log;
}
.
#Abschnitt 2
server {
listen 443;
server_name mail.--HOST-- autodiscover.--HOST--;
server_tokens off;.
client_max_body_size<-->100M;
# Enable SSL
ssl on;
ssl_certificate /etc/ssl/--HOST--/schlund.crt;
ssl_certificate_key /etc/ssl/--HOST--/schlund-decrypted.key;
ssl_session_timeout 5m;# Set global proxy settings
proxy_read_timeout 360;proxy_http_version 1.1;
proxy_pass_request_headers on;proxy_pass_header Date;
proxy_pass_header Server;proxy_set_header Host $host;
proxy_set_header X-Real-IP $remote_addr;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
proxy_set_header Accept-Encoding "";more_set_input_headers 'Authorization: $http_authorization';
proxy_set_header Accept-Encoding "";
more_set_headers -s 401 'WWW-Authenticate: Basic realm="mail.--HOST--"';location / { proxy_pass https://xxIPxx/owa; }
location /owa { proxy_pass https://xxIPxx/owa; }
location /OWA { proxy_pass https://xxIPxx/owa; }........
location /EWS { proxy_pass https://xxIPxx/EWS; }
location /ews { proxy_pass https://xxIPxx/EWS; }........
location /Microsoft-Server-ActiveSync { proxy_pass https://xxIPxx/Microsoft-Server-ActiveSync; }
location /mapi { proxy_pass https://xxIPxx/mapi; }
location /MAPI { proxy_pass https://xxIPxx/mapi; }........
location /rpc { proxy_pass https://xxIPxx/Rpc; }
location /Rpc { proxy_pass https://xxIPxx/Rpc; }
location /RPC { proxy_pass https://xxIPxx/Rpc; }........
location /oab { proxy_pass https://xxIPxx/OAB; }
location /OAB { proxy_pass https://xxIPxx/OAB; }........
location /autodiscover { proxy_pass https://xxIPxx/Autodiscover; }
location /Autodiscover { proxy_pass https://xxIPxx/Autodiscover; }error_log /var/log/nginx/exchange-ssl-error.log;
access_log /var/log/nginx/exchange-ssl-access.log;
Vielen Dank für Deine Config, hat leider nichts gebracht bei mir, habe alles so eingestellt wie bei Deiner Config, aber ich habe immer noch denselben Fehler ?
dürfte dann eine Einstellung im IIS sein, dass dort der Auth nicht passt
hab das nicht mehr wirklich 100%ig im Kopf, aber dort kann man die Authentifikationseinstellungen anpassen
Nachdem ich das hier bei https://testconnectivity.microsoft.com angezeigt gekriegt habe
Habe ich hier
folgendes eingestellt und IIS neu gestartet
Hat leider auch nichts gebracht... ?
(Ich hoffe man erkennt etwas auf den Bildern...)
Wie kriegst du das hin, dass NTLM über den HAProxy läuft? Kannst du die HAProxy Konfiguration ebenfalls posten?
Danke vorweg
Christoph
Hey zusammen
Stehe bei einem Projekt am selben Problem mit dem Nginx als Proxy, hat da jemand schon eine Lösung?
Das OWA funktioniert, nur wen ich mit dem Outlook eine Verbindung aufbauen möchte kommt immer die Password abfrage.
Grüsse
ManDal
HaProxy Version 2.0.13 (und andere) haben einen Bug und lassen keine NTLM Authentifizierung über den Proxy zu. Ein Update auf Version 2.0.27 installieren, hier: https://launchpad.net/~vbernat/+archive/ubuntu/haproxy-2.0
Nachher funktoiniert die NTLM Authentifizierung über HaProxy - ohne Änderung am Exchange IIS default. (Abgesehen vom SSL Offloading)
Ich push mal den Beitrag.
Habe Nginx Proxy Manager mit einem Exchange 2019 CU13 am laufen.
Klappt soweit alles, bis auf die externe Anmeldung mit Outlook.
Gibt es dafür eine Lösung? Oder liegt es am NTLM, das der Nginx es nicht kann??
Nachtrag:
Mit der ios Outlook App funktioniert die Anmeldung.
Am Pc mit Outlook 2019 leider nicht, es kommt immer die Password Anbfrage.
Schicke ich die Anfragen direkt über die Firewall, am Proxy vorbei, funktioniert es auch am Pc mit Outlook 2019.
Warum funktioniert es über den Proxy it der ios Outlook App??
Gibt es schon eine Lösung??
Mit dem eigentlichen Problem kann ich leider nicht direkt helfen, da ich mich mit nginx nicht auskenne. Aber das mit der IOS Outlook App kann ich erklären. Auch wenn das Ding "Outlook" heißt, hat die Übertragungstechnik dahinter wenig bis gar nichts mit dem Desktop Client zu tun. Outlook am Desktop verwendet in der Regel MAPI over HTTP(S) (bzw. früher auch schon mal RPC over HTTP, aber das wird heutzutage nicht mehr verwendet). Das Mobile Outlook (egal ob IOS oder Android) verwendet wie jeder andere mobile Mailclient gegenüber dem Exchange ActiveSync. Daher hat das eine mit dem anderen nicht wirklich was zu tun, das zielt am Ende auf ein anderes virtuelles Verzeichnis im Exchange.
verwendet wie jeder andere mobile Mailclient gegenüber dem Exchange ActiveSync.
Nö, inzwischen verwenden (können verwenden) viele die EWS Variante. ;)
Nö, inzwischen verwenden (können verwenden) viele die EWS Variante. ;)
Stimmt, EWS ist mir irgendwie durchgegangen. Was aber nichts daran ändert, dass das Desktop Outlook nicht den gleichen Kommunikationsweg nimmt wie das Mobile und somit im Reverse Proxy (egal welchem) verschieden behandelt wird.