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.
Exchange 2013 und höher nutzt sogar immer den FQDN des Servers
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
- CAS Proxy
- CASArray
- Overview of Exchange Server 2007 CAS Proxying and
Redirection
http://blogs.technet.com/b/exchange/archive/2007/09/04/446918.aspx - Understanding Proxying and Redirection
http://technet.microsoft.com/en-us/library/bb310763.aspx - Understanding Client Access
http://technet.microsoft.com/en-us/library/bb124915.aspx - Script to set InternalURL and ExternalURL für all
Exchange 2010 Virtual Directories
http://nathanwinters.co.uk/2010/05/30/script-to-set-internalURL-and-externalURL-for-all-exchange-2010-virtual-directories/ - Default Authentication Settings für Exchange-related
Virtual Directories
http://technet.microsoft.com/en-us/library/gg263433(EXCHG.80).aspx
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 |
GUI | Nicht per GUI ! |
CASArray | Eintragung des Arrays als
InternalURL |
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 |
---|---|
Beispielwert |
https://FQDN-Hostname/EWS/Exchange.asmx |
Commandlet | Set-WebServicesVirtualDirectory |
GUI | Nicht per GUI ! |
CASArray | Eintragung des Arrays als
InternalURL |
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 |
---|---|
Beispielwert | https://FQDN-Hostname/OWA |
Commandlet | Set-OwaVirtualDirectory |
GUI | Ja |
CASArray | Eintragung des Arrays als
InternalURL |
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 |
---|---|
Beispielwert | https://FQDN-Hostname/Microsoft-Server-ActiveSync |
Commandlet | Set-ActiveSyncVirtualDirectory |
GUI | Ja |
CASArray | Eintragung des Arrays als
InternalURL |
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. Sie sollten den Pfad auch korrekt eintragen. Ich habe Umgebungen gesehen, in denen z.B. die "ExternalURL" nicht gepflegt war und daher die Clients keine automatische Konfiguration erhalten konnten. Hier eine Beispiel:
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 |
Gui | JA (ExternalHostname) |
CASArray | Eintragung des Arrays als
InternalURL |
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 |
---|---|
Beispielwert | https://FQDN-Hostname/OAB |
Commandlet | Set-OABVirtualDirectory |
GUI | Ja |
CASArray | Eintragung des Arrays als
InternalURL |
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 |
---|---|
Beispielwert | https://FQDN-Hostname/UnifiedMessaging/Service.asmx |
Commandlet | Set-UMVirtualDirectory |
GUI | NEIN |
CASArray | Eintragung des Arrays als
InternalURL |
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 |
---|---|
Beispielwert | https://FQDN-Hostname/ECP |
Commandlet | Set-EcpVirtualDirectory |
GUI | Ja |
CASArray | Eintragung des Arrays als
InternalURL |
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 |
---|---|
Beispielwert | https://FQDN-Hostname/PowerShell |
Commandlet | Set-PowerShellVirtualDirectory |
GUI | Nein |
CASArray | Eintragung des Arrays als
InternalURL möglich aber häuft nicht
gewünscht |
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
- Test-Commandlets
Sehr viele Funktionen lassen sich über die verschiedenen vorhandenen "test-"Commandlets der PowerShell direkt abprüfen. - Outlook Test
Outlook 2007 erlaubt ebenfalls einen Autodiscover-Test, wenn Sie bei gedrückter STRL-Taste mit der rechten Maustaste auf das Outlook Icon in der Tastleiste klicken.
- testexchangeconnectivity.com bzw.
https://testconnectivity.microsoft.com/
Zuletzt bietet auch Microsoft eine Webseite im Internet an, auf der Sie von extern ihre Installation prüfen lassen können. Sie müssen dazu aber einen gültigen Benutzernamen samt Kennwort angeben. Wer vorsichtig ist, legt hierzu besser einen Testbenutzer an, dessen Kennwort er nach dem Test wieder ändert.
Dieser Test erfolgt "Extern" auf ihre Exchange Umgebung. Microsoft simuliert einen Client, der aus dem Internet die Aktionen versucht. Sie können damit aber nicht die interne Funktion testen. - testexchangeconnectivity.com bzw.
https://testconnectivity.microsoft.com/
Wer auf der gleichen Webseite aber die Karteikarte "Client" anklickt, erhält Zugriff auf eine ClickOnce-Anwendung, die nach dem Download auf ihrem PC startet. Dieses Programm testet dann die interne Funktion von z.B. Autodiscover.
Es ist eine wertvolle Hilfe bei der Suche nach Fehlern.
Weitere Links
- Autodiscover
- CAS Intern/Extern
- SAN-Zertifikate
- Private CA
- CASProxy 2007
- RPC over HTTP
- Understanding Proxying and Redirection
http://technet.microsoft.com/en-us/library/bb310763.aspx - Overview of Exchange Server 2007 CAS Proxying and
Redirection
http://blogs.technet.com/b/exchange/archive/2007/09/04/446918.aspx - How Exchange Server 2007 CAS Proxying works für Outlook Web
Access (OWA)
http://blogs.technet.com/b/exchange/archive/2007/09/10/446957.aspx - How Exchange 2007 CAS Proxying works für ActiveSync
http://blogs.technet.com/b/exchange/archive/2007/10/12/447266.aspx - White Paper: Exchange 2007 Autodiscover Service
http://technet.microsoft.com/en-us/library/bb332063(EXCHG.80).aspx - Configuring Exchange Server 2007 Web Services URLs
http://www.msexchange.org/articles_tutorials/exchange-server-2007/management-administration/configuring-exchange-server-2007-web-services-URLs.html - Exchange 2007 Internal and External URL \ URL’s –
Autodiscover Availability IMAP POP3 OOF OAB
http://exchangeshell.wordpress.com/2009/10/17/exchange-2007-internal-and-external-URL-URLs-autodiscover-availability-imap-pop3-oof-oab/ - Default settings für Exchange-related virtual directories in
Exchange Server 2010
http://blogs.technet.com/b/exchange/archive/2010/09/23/456396.aspx - Default Authentication Settings für Exchange-related Virtual
Directories
http://technet.microsoft.com/en-us/library/gg263433(EXCHG.80).aspx - It Takes a Long Time… - Site Awareness von CAS-Servern und Outlook
http://blogs.technet.com/b/exchange/archive/2012/02/20/it-takes-a-long-time.aspx - Setting Internal and External URL’s in Exchange 2013
http://jaworskiblog.com/2013/04/13/setting-internal-and-external-URLs-in-exchange-2013/ - Ambiguous URLs and their effect on Exchange 2010 to Exchange
2013 Migrations
https://blogs.technet.microsoft.com/exchange/2013/05/23/ambiguous-urls-and-their-effect-on-exchange-2010-to-exchange-2013-migrations/