Exchange achter een nginx reverse proxy

Windows, Android, iOS, Linux, Chrome OS, ...
Plaats reactie
Gebruikersavatar
Sinna
Elite Poster
Elite Poster
Berichten: 2417
Lid geworden op: 14 nov 2008, 08:22
Twitter: KrSi78
Locatie: Brugge
Uitgedeelde bedankjes: 208 keer
Bedankt: 152 keer

Naar aanleiding van een lokale internetonderbreking bij Telenet, heb ik geprobeerd de Exchange-server opnieuw via een nginx reverse proxy bereikbaar te maken. Normaal gezien heeft de server een 'directe' verbinding (en dus een 1:1-mapping op IP-adres en poort).

Ik krijg de configuratie (op een Synology NAS) echter niet voor elkaar. Outlook blijft om inloggegevens vragen. Ik heb het script op Nginx reverse proxy to Exchange 2010/2013 toegepast, maar dat maakt geen verschil.

Tips & Tricks zijn welkom.
Computer(k)nul
Gebruikersavatar
Sasuke
Elite Poster
Elite Poster
Berichten: 4854
Lid geworden op: 13 aug 2003, 20:25
Locatie: Vlaanderen
Uitgedeelde bedankjes: 153 keer
Bedankt: 332 keer
Contacteer:

Gebruik je SSL Offloading of niet (denk best niet in dit geval). Check vooral dat eens, wat SSL mismatch zal er inderdaad voor zorgen dat niet kan/mag inloggen.

Het script zet SSL Offloading aan op de NGINX, maar dan moet dat ook enabled staan op de back-end én moet de SSL chain valid zijn op de Reverse Proxy én moet de Loadbalancer instaat zijn om het certificaat van de backend ook te valideren.

https://docs.microsoft.com/en-us/exchan ... -2013-help
Who the fxxk is General Failure and why is he reading my hard disk ?
Afbeelding
Gebruikersavatar
Sinna
Elite Poster
Elite Poster
Berichten: 2417
Lid geworden op: 14 nov 2008, 08:22
Twitter: KrSi78
Locatie: Brugge
Uitgedeelde bedankjes: 208 keer
Bedankt: 152 keer

In normale omstandigheden stuurt de firewall het HTTPS-verkeer via een (S)NAT-rule rechtstreeks door naar de Exchange-server. SSL Offloading is daar niet nodig en dus ook niet geïmplementeerd. Ik had het certificaat van de mailserver al eerder geëxporteerd en geïmporteerd op de Synology en zie daarom niet waarom er een SSL-mismatch zou zijn. Van loadbalancing lijkt mij hier geen sprake, er is maar één mailserver.
Ik heb de documentatie die je aangaf doorgenomen, maar heb weinig trek om SSL niet vereist te stellen. De mailserver moet intern ook op een veilige manier benaderd worden me dunkt.
Computer(k)nul
Gebruikersavatar
Sasuke
Elite Poster
Elite Poster
Berichten: 4854
Lid geworden op: 13 aug 2003, 20:25
Locatie: Vlaanderen
Uitgedeelde bedankjes: 153 keer
Bedankt: 332 keer
Contacteer:

Wat heb je geëxporteerd, enkel het certificaat of de volledige chain ? De Reverse proxy moet de volledige chain hebben, dus ook de root certs van de uitgever.

Daarnaast, als ik dat voorbeeldscript zie,dan zijn niet alle locaties gereverse proxied. Bvb, Exchange 2013/2016 doen MAPI over https en moet dus ook /mapi forwarden. Tevens antwoord je 'autodiscover.domain.tld' niet op de 443 listener in dat voorbeeld.

Je kan dat voorbeeld echt niet zomaar overnemen en al zeker niet voor Exchange 2016.
Who the fxxk is General Failure and why is he reading my hard disk ?
Afbeelding
Gebruikersavatar
Sinna
Elite Poster
Elite Poster
Berichten: 2417
Lid geworden op: 14 nov 2008, 08:22
Twitter: KrSi78
Locatie: Brugge
Uitgedeelde bedankjes: 208 keer
Bedankt: 152 keer

@Sasuke: Ik merk dat je op de hoogte bent. Ik draai Exchange 2013.
Heb jij iets gelijkaardigs moeten opzetten en zo ja, kan je dan (eventueel via PM) je nginx-cfg bezorgen? Dan weet ik alvast dat de configuratie juist zou moeten zijn.
Computer(k)nul
Gebruikersavatar
Sasuke
Elite Poster
Elite Poster
Berichten: 4854
Lid geworden op: 13 aug 2003, 20:25
Locatie: Vlaanderen
Uitgedeelde bedankjes: 153 keer
Bedankt: 332 keer
Contacteer:

Nog nooit een Nginx config gedaan, enkel kemp en Netscaler :-) Maar lijkt me straightforward, ik zal ff die nginx voorbeeld config aanpassen naar hoe het volgens mij moet zijn.

EDIT* - Heb ff verder gelezen en de 'free' versie van NginX ondersteund geen NTLM authenticatie in de reverse proxy. Dat zal mogelijk ook wel je issue zijn want default staat dat aan en dan zal Exchange altijd NTLM eisen. Als je toch via Nginx free wil werken ==> disable "Windows Authentication" en zorg dat Basic Authentication overal enabled is.

Alternatief ... gebruik een 'kemp' loadbalancer. Deze is gratis te gebruiken met een 10Mbit licentie (ruimschoots voldoende voor minder dan 200 remote users).

In bijlage een voorbeeld van de Nginx config die volgens mij wel zal werken, maar zoals vermeld ... enkel met Basic Authentication dus :(
Bijlagen
nginx_exchange.txt
(1.9 KiB) 41 keer gedownload
Who the fxxk is General Failure and why is he reading my hard disk ?
Afbeelding
Gebruikersavatar
Sinna
Elite Poster
Elite Poster
Berichten: 2417
Lid geworden op: 14 nov 2008, 08:22
Twitter: KrSi78
Locatie: Brugge
Uitgedeelde bedankjes: 208 keer
Bedankt: 152 keer

Bedankt voor het script, maar Basic Authentication zal 'm niet worden.
Die kemp ken ik niet, daar ga ik me in inlezen.
Bedankt voor de tip!
Computer(k)nul
Gebruikersavatar
Sinna
Elite Poster
Elite Poster
Berichten: 2417
Lid geworden op: 14 nov 2008, 08:22
Twitter: KrSi78
Locatie: Brugge
Uitgedeelde bedankjes: 208 keer
Bedankt: 152 keer

Ik heb het script getest, maar loopt tegen een aantal foutmeldingen aan:

Code: Selecteer alles

nginx: [warn] the "ssl" directive is deprecated, use the "listen ... ssl" directive instead in /etc/nginx/app.d/server.ReverseProxy.conf:5
nginx: [emerg] unknown directive "more_set_input_headers" in /etc/nginx/app.d/server.ReverseProxy.conf
nginx: [emerg] unknown directive "more_set_headers" in /etc/nginx/app.d/server.ReverseProxy.conf
Aangezien die directives juist aangeven op welke manier er verbonden moet worden, lijkt het hier einde verhaal.
Computer(k)nul
Gebruikersavatar
Sasuke
Elite Poster
Elite Poster
Berichten: 4854
Lid geworden op: 13 aug 2003, 20:25
Locatie: Vlaanderen
Uitgedeelde bedankjes: 153 keer
Bedankt: 332 keer
Contacteer:

Die more set headers zijn idd niet juist, correcte syntax weet ik ook niet vanbuiten. Maar zonder basic auth the disabled kan het sowieso nooit werken met nginx.
Who the fxxk is General Failure and why is he reading my hard disk ?
Afbeelding
Plaats reactie

Terug naar “Software en apps”