Exchange URLs

Achtung:
Die "internalURL" wird in Umgebungen mit mehreren CAS-Servern als Adresse für die "CAS zu CAS" Verbindung genutzt. Die Anfragen dürfen nicht über einen Proxy laufen. Wer also per GPO auch den Computern sagt, dass alles zum Proxy geht, stört die CAS zu CAS Kommunikation.

Uppercase
Es kann Probleme geben wenn Sie z.B. /ECP statt /ecp verwenden. Stichwort "invalid Canary". Prüfen Sie daher ihre konfigurierten URLs

Mit dem Skript Get-CASUrl habe ich eine elegante Möglichkeit einer Ausgabe aller URLs geschaffen.

Nicht erst seit Autodiscover sollten Sie erkannt habe, dass Outlook 2007 und neuer mit Exchange 2007 und höher nicht mehr nur allein per RPC kommuniziert, sondern immer mehr HTTPS-Anfragen auf die CAs-Server-Rollen angewendet werden. Über die Funktion Autodiscover erfährt der Client, welche Dienste über welche URLs zu erreichen sind. Diese sind natürlich in der Exchange Konfiguration auch zu hinterlegen. Meist fällt es erst im laufe des Betriebs auf, wenn der erste Anwender von "draußen" arbeiten will, in der Firewall entsprechende Zugänge zu veröffentlichen sind oder die Anwender von andauernden Warnungen vor Zertifikaten behindert werden. Die Ursache ist meist die falsche Konfiguration in Exchange, die aber meist nicht sofort auffällt.

Dann nämlich nicht, wen die vom Setup selbst erstellten Zertifikate noch gültig sind, noch kein Outlook 2007 zum Einsatz kommt oder Outlook 2007/2010 nur intern genutzt wird und über LDAP die "Service Connection Points" ermittelt. Dann erhält Outlook die "internen URLs", welcher per Default den FQDN-Name des Servers enthält.

Auf dieser Seite versuche ich alle URLs und Webzugänge zu beschreiben, die Exchange 2007 und höher verwendet. Sie sollten vor allem die feinen Unterschiede von internen und externen URLs verstanden haben. Zudem sollten Sie alle Zugänge per SSL absichern, so dass das Zertifikat natürlich "vertrauenswürdig" sein sollte (Datum, Aussteller, Hostname). Es ist durchaus möglich, dass ein Zertifikat für alle Dienste genutzt wird, z.B. indem ein Alias verwendet wird oder ein SAN-Zertifkat. Für den internen Einsatz kann auch einen Private CA eine Lösung darstellen, so dass nur die Firewall oder Reverse Proxy ein offizielles Zertifikat benötigt.

Dienst 2007 2010 2013 Commandlet Intern Extern NLB GUI
Autodiscover Set-Clientaccessserver Ja Nein Nein Nein
EWS (FreeBusy, OOF) Set-WebServicesVirtualDirectory Ja Ja Ja Nein
OWA Set-OwaVirtualDirectory Ja Ja Ja Ja
OWA Legacy Set-OwaVirtualDirectory -Exchange2003URL Nein Ja Nein Nein
OWA Failback Set-OwaVirtualDirectory -FailbackURL Nein Ja Nein Nein
ActiveSync Set-ActiveSyncVirtualDirectory Ja Ja Nein Ja
Outlook Anywhere Set-OutlookAnywhere -ExternalHostname Nein Ja Nein Ja
OAB Set-OABVirtualDirectory Ja Ja Nein Ja
UM Set-UMVirtualDirectory (Nur Exchange 2007) Ja Ja Nein Nein
ECP Set-EcpVirtualDirectory (Nur Exchange 2010) Ja Ja Nein Ja
Powershell Set-PowerShellVirtualDirectory (Nur Exchange 2010) Ja Ja Nein Nein

Per Default ist der Wert von "ExternalURL" immer leer, Sie müssen also hier aktiv werden, wenn Sie Dienste extern erreichbar machen möchten bzw. dem Client (Outlook 2007 und neuer, Windows Mobile 6.1 und neuer, etc.) eine automatische Erkennung mittels Autodiscover erlauben wollen. Pflegen Sie den Wert nur auf Servern, die auch tatsächlich unter dem Namen extern direkt erreichbar sind.

Beachten Sie auch, dass die "InternalURL" nicht nur von Clients genutzt wird sondern auch der Server zu Server Kommunikation dient und müssen daher ebenfalls von allen Servern intern auflösbar und erreichbar sein. Auch hier müssen Zertifikate korrekt installiert sein.

Hinweis:
Viele Einstellungen sind nicht relevant, wenn Sie nur "einen" Exchange Server betreiben, weil dann z.B. keine CAS zu CAS-Proxy-Funktion erforderlich ist. Sie sollten dennoch dann die externalURL so setzen, dass Autodiscover korrekte Werte liefert.

Lesenswert sind hierzu auch folgende URLs

Auch ExBPA kann bei der Fehlersuche ganz hilfreich sein. Hier ein Bild, in dem ExBPA sich darüber mokiert, dass in einer Exchange 2010 Umgebung noch ein "alter" Exchange 2007 CAS eine ExternalURL hat.

Dies ist zwar nicht verboten (solange es eine "andere" URL ist, und diese nur von Exchange 2007/2003 Benutzer genutzt wird. In der Regel veröffentlichen Firmen aber eine OWA-Url und diese sollte dann auf Exchange 2010 verweisen, welcher die "Legacy-Clients" dann über die LegacyURL an den alten Zugang umlenkt.

Autodiscover auf dem Client Access Server

Diesem Zugang ist eine eigene Seite Autodiscover gewidmet. Informieren Sie sich dort erst über die Bedeutung und Funktion von Autodiscover.

Parameter AutoDiscoverServiceInternalUri
Beispielwert https://FQDN-Hostname/Autodiscover/Autodiscover.xml
Commandlet Set-ClientAccessServer
http://technet.microsoft.com/en-us/library/bb125157.aspx
GUI Nicht per GUI !
CASArray Eintragung des Arrays als InternalURL
Eintragung des externen offiziellen Namen als External URL

Die AutoDiscoverServiceInternalUri definiert den Namen, welcher von Exchange im Active Directory hinterlegt wird. Sie können den Namen auf einen Alias oder einen Load balancer umkonfigurieren, wenn Sie die Clients immer auf einen Namen auflaufen lassen wollen. Beachten Sie, dass es hier bei keine externeURL gibt , da der Zugriff hier über DNS auf "autodiscover.maildomain.tld/autodiscover/autodiscover.xml" erfolgt bzw. über SRV-Records.

Auch auf dem virtuellen Verzeichnis "Autodiscover" kann man mit "Set-AutodiscoverVirtualDirectory –InternalURL" einen Eintrag ändern. Dieser wird aber nach meinen Erfahrungen nicht verwendet.

Exchange Webservices EWS (OOF, Free/Busy)

Über die Webservices stellen Outlook 2007 und neuere Clients z.B. Abwesenheitsmeldungen ein oder ermitteln Frei/Belegt-Zeiten bei Terminen. Aber auch die Transporter Suite, Federation_Services und andere Programme nutzen EWS zum Zugriff auf Postfachinhalte.

Parameter ExternalUrl
InternalUrl
InternalNLBBypassUrl
Beispielwert https://FQDN-Hostname/EWS/Exchange.asmx
Commandlet Set-WebServicesVirtualDirectory
http://technet.microsoft.com/en-us/library/aa997233.aspx
GUI Nicht per GUI !
CASArray Eintragung des Arrays als InternalURL
Eintragung des externen offiziellen Namen als External URL

Stellen Sie auch hier sicher, dass die "ExternalURL" auch von extern erreichbar ist, damit externe Benutzer auch ohne Fehler arbeiten können.

Diese Einstellung ist aber z.B. wichtig für Kalender Federation und andere Dienste, speziell zwischen Forests. Insofern ist es f��r mich schon etwas verwunderlich, dass diese Einstellung es nicht bis in die GUI geschafft hat.

OWA

Outlook WebAccess ist seit Exchange 5.5 ein alter Bekannter. Aber mit Exchange 2007 sind auch hier Parameter zu pflegen, damit die Clients letztlich auf dem richtigen CAS-Server landen.

Parameter ExternalURL
InternalURL
Exchange2003URL (Ab Exchange 2010)
Fallback (Ab Exchange 2010)
Beispielwert https://FQDN-Hostname/OWA
Commandlet Set-OwaVirtualDirectory
http://technet.microsoft.com/en-us/library/bb123515.aspx
GUI Ja
CASArray Eintragung des Arrays als InternalURL
Eintragung des externen offiziellen Namen als External URL

Da Exchange 2010 nicht mehr als Reverse Proxy für Exchange 2003 dienen kann, ist hier der Parameter "exchange2003URL" hinzu gekommen, um die Clients auf einen anderen Zugangs zu verweisen, wenn das Postfach noch nicht migriert ist.

ActiveSync

Für die Anbindung mobiler Geräte an den Exchange ActiveSync Server ist ebenfalls eine Konfiguration erforderlich, z.B. damit die aus dem Internet erreichbaren CAS-Server die Anfragen an interne CAS-Server korrekt weiter geben können.

Parameter InternalUrl
ExternalUrl
Beispielwert https://FQDN-Hostname/Microsoft-Server-ActiveSync
Commandlet Set-ActiveSyncVirtualDirectory
http://technet.microsoft.com/en-us/library/bb123679.aspx
GUI Ja
CASArray Eintragung des Arrays als InternalURL
Eintragung des externen offiziellen Namen als External URL

Es ist nicht zwingend, dass der URL-Pfad ein "Microsoft-Server-ActiveSync" enthält. Windows Mobile 6.1 und höher können per Autodiscover angeblich auch andere Pfade unterstützen. Dies ist aber nicht möglich, wenn die Clients kein Autodiscover können oder anderweitig manuell konfiguriert werden. Daher ist es ratsam diesen Pfad so zu verwenden.

Outlook Anywhere (RPC/http)

Die Verbindung von Outlook über HTTPS zum Exchange Server ist sehr populär und während bei Exchange 2003/Outlook 2003 noch viel manuelle Konfiguration erforderlich war, kann Outlook 2007 bei korrekter Konfiguration alleine den Zugangspunkt ermitteln. Beim Aktivieren über die GUI wird der Hostname ebenfalls erfragt

Parameter ExternalHostname
Beispielwert FQDN-hostname (ohne http o.ä.)
Commandlet Set-OutlookAnywhere
http://technet.microsoft.com/en-us/library/bb123545.aspx
Gui JA (ExternalHostname)
CASArray Eintragung des Arrays als InternalURL
Eintragung des externen offiziellen Namen als External URL

Dieses Feld ist eines der wenigen Einstellungen, die nur einen Hostnamen erlauben. Die URL für den Zugriff leitet Outlook dann sepbst ab (https://fqdn-hostname/rpc/)., Siehe auch RPC over HTTP.

OAB

Das Offline Adressbuch lädt Outlook 2007 nicht mehr zwingend von einem öffentlichen Ordner herunter. Über diese Einstellungen erfährt Outlook die korrekten Zugriffswege

Parameter InternalUrl
ExternalURL
Beispielwert https://FQDN-Hostname/OAB
Commandlet Set-OABVirtualDirectory
http://technet.microsoft.com/en-us/library/bb124707.aspx
GUI Ja
CASArray Eintragung des Arrays als InternalURL
Eintragung des externen offiziellen Namen als External URL

UM (Nur Exchange 2007)

Auch wenn vielleicht wenige Firmen bislang die Exchange 2007/2010 Unified Messaging Rolle einsetzen, ist die Konfiguration der UM-Einstellungen von Outlook

Parameter InternalUrl
ExternalUrl
Beispielwert https://FQDN-Hostname/UnifiedMessaging/Service.asmx
Commandlet Set-UMVirtualDirectory
http://technet.microsoft.com/en-us/library/bb124335(EXCHG.80).aspx
GUI NEIN
CASArray Eintragung des Arrays als InternalURL
Eintragung des externen offiziellen Namen als External URL

ECP (Exchange 2010)

Mit Exchange 2010 erscheint erstmals das virtuelle Verzeichnis "ECP", welches das Exchange Control Panel darstellt. Über dieses virtuelle Verzeichnis können Benutzer per OWA z.B. Verteilerlisten und ihre eigenen Daten selbst pflegen oder den Status versendeter Nachrichten überprüfen (Messagetracking)

Parameter InternalUrl
ExternalUrl
Beispielwert https://FQDN-Hostname/ECP
Commandlet Set-EcpVirtualDirectory
http://technet.microsoft.com/en-us/library/dd297991.aspx
GUI Ja
CASArray Eintragung des Arrays als InternalURL
Eintragung des externen offiziellen Namen als External URL

Powershell (Exchange 2010)

Das die Verwaltung von Exchange 2010 mit der Powershell 2.0 WinRM sogar aus der Ferne per HTTPS möglich ist, sind natürlich hierfür ebenfalls die Zugriffspunkte korrekt anzugeben

Parameter InternalUrl
ExternalUrl
Beispielwert https://FQDN-Hostname/Powershell
Commandlet Set-PowerShellVirtualDirectory
http://technet.microsoft.com/en-us/library/dd298108.aspx
GUI Nein
CASArray Eintragung des Arrays als InternalURL möglich aber häuft nicht gewünscht
Eintragung des externen offiziellen Namen als External URL

Diese Konfiguration wird aber eher für Hoster interessant, die Exchange 2010 für einen Firma betreiben und dem Administrator die Verwaltung per GUI oder Powershell von seinem Arbeitsplatz erlauben. (anstelle einer webgestützten Verwaltung).

Kontrolle der Ergebnisse

Wenn Sie dann alle Parameter "korrekt" angegeben haben, dann können Sie über mehrere Wege prüfen, ob die Daten korrekt übernommen wurden

Weitere Links

Tags:CASUrl ExternalURL InternalURL Autodiscover