Outlook Anywhere - Serverseite

Auf der Serverseite müssen Sie natürlich ihren Server noch "RPC over HTTP tauglich" machen. Dazu müssen Sie wissen, dass die Funktion "RPC-Proxy" selbst erst mal keine Funktion von Exchange ist, sondern eine Funktion des Windows 2003 Servers und demnach über die Systemsteuerung - Software - Windows Komponenten installiert wird:

Dieser Dienst ist auf dem Server zu installieren, welcher die Anfragen der Clients aus dem Internet annimmt.

Danach sollten Sie in ihrem Dienstmanager für den Webserver ein neues virtuelles Verzeichnis finden:

Das Verzeichnis "/RPC" enthält einfach nur eine DLL, die bei einer Verbindung auf diese URL aufgerufen wird und die RPC-Anfragen auspackt weitergibt.

Wenn Sie den RPC-Proxy nicht auf Exchange laufen lassen und eine Verbindung aus dem Internet über weitere HTTP-Proxy Server nutzen (Siehe folgendes Kapitel), dann ist es unwahrscheinlich, dass die Standardanmeldung mit NTLM funktioniert. Sie müssen dann das virtuelle Verzeichnis /RPC für die Standardanmeldung freigeben.

Der Einsatz von dann natürlich angeraten, damit Kennworte nicht ungeschützt übertragen werden. Die NTLM-Anmeldung sollte auch aktiv sein, wenn Sie dies intern verwenden wollen.

RPC over HTTP auf dem Exchange Server 2003 konfigurieren

Achtung:
Exchange 2007 Einstellungen im folgenden Kapitel.

Seit Exchange 2003 SP1 findet sich im Exchange System Manager bei den Eigenschaften des Servers eine eine Karteikarte zur einfachen Konfiguration:

Allerdings vereinfacht diese Karteikarte nur die Konfiguration bei einer Frontend/Backend Konstellation. Bei einem einzelnen Server ist weitere Konfigurationen erforderlich. Die Einstellung "Back-End-Server" sorgt unter anderem dafür, dass auf dem Server folgende Schlüssel gesetzt werden:

Windows Registry Editor Version 5.00

[HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\MSExchangeIS\ParametersSystem]
"Rpc/HTTP Port"=dword:00001771

[HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\MSExchangeSA\Parameters]
"HTTP Port"=dword:00001772
"Rpc/HTTP NSPI Port"=dword:00001774

Prüfen Sie diese Einträge, denn ich habe es schon erlebt, dass diese Werte NICHT gesetzt wurden oder irrtümlich lokalisiert warten (also RPC/HTTP-Anschluss" und "HTTP-Anschluss".

Diese Einträge müssen auf jedem Backend Server durchgeführt werden und werden erst nach dem Neustart der Exchange Dienste aktiv. Die Funktion sollten Sie dann mit dem Befehl NETSTAT prüfen:

netstat -a -o | find "600"
TCP nawsv001:6001 srv01.msxfaq.test:0 ABHöREN 3996
TCP nawsv001:6002 srv01.msxfaq.test:0 ABHöREN 3152
TCP nawsv001:6004 srv01.msxfaq.test:0 ABHöREN 476

Dieser Server "lauscht" also auf den Port 6001,6002 und 6004.

Auf dem RPC-Proxy-Server muss nun der Zugriff auf eben diese Server ebenfalls eingetragen werden. So muss der bei einer Single Server Installation der Eintrag "ValidPorts" gepflegt werden:

Windows Registry Editor Version 5.00

[HKLM\Software\Microsoft\Rpc\RPCproxy]
"ValidPorts"="srv01:6001-6002;srv01.msxfaq.test:6001-6002;srv01:6004;srv01.msxfaq.test:6004"

Hier muss sowohl der "kurze" NetBIOS-Name als auch der lange FQDN eingetragen werden. Nach der Installation und dem Start sollten Sie im Eventlog kontrollieren, ob der RPC-Proxy korrekt gestartet ist.

Weiterhin müssen Sie natürlich ihrem Domaincontroller eventuell den Port für RPC/HTTP eintragen, wenn diese zugleich Exchange Backend Server ist.

HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\NTDS\Parameters\NSPI interface protocol sequences: Multi_SZ = ncacn_http:6004

Diese Änderung wird erst nach einem Neustart des Servers erforderlich. Auch Microsoft liefert einige sehr viel aussagekräftigere Informationen z.B. auf:

  • 833401 How to configure RPC over HTTP in Exchange Server 2003
  • Technet Exchange Server 2003 RPC over HTTP Deployment Scenarios
    ms-help://MS.TechNet.2006NOV.1033/exchange/tnoffline/prodtechnol/exchange/exchange2003/proddocs/library/ex2k3rpc.htm

Wenn man all die Parameter und Ports mal zusammen stellt, dann ergibt sich folgendes Bild:

RPC over HTTP Ports

In Exchange 2007 agiert der MSExchangeSA auf Port 6004 als NSPI-Proxy zum DC. Daher ist es für Exchange nicht mehr erforderlich, dass der RPCProxy auch auf den DC zugreifen muss.

Die RPCPRoxy.DLL nutzt drei Ports die zum Teil vom Exchange Server Informationsspeicher, von der Systemaufsicht aber auch vom Domaincontroller bereit gestellt werden. In den Beispielen ist der DC und Exchange Server der gleiche Server namens SRV01. Wenn Sie die Funktion auf mehrere Server verteilen, dann müssen Sie natürlich die Namen entsprechend anpassen.

Leider gibt es mit Windows 32bit das 2/3/4 GB Limit und das gilt auch für den IIS, in dessen Kernelspeicher der RPC-Proxy geladen wird. Microsoft empfiehlt pro Front End Server ca. maximal 2.000 simultane Anwender. Siehe auch http://technet.microsoft.com/en-us/library/bb124771(EXCHG.65).aspx

RPC over HTTP und Exchange 2007/2010

Exchange 2007 wird "ähnlich" konfiguriert. Hier sind die Einstellungen beim Server der CAS-Server-Rolle durchzuführen. Hier müssen Sie einfach "Outlook Anywhere" aktivieren.

Mehr gibt es hier eigentlich nicht zu konfigurieren. für den Zugriff aus dem Internet sollte man auf dem IIS natürlich ein SSL-Zertifikat einrichten. Das ist dann wieder eine Einstellung in der MMC für den IIS.

Der Assistent erfragt dann zusätzlich den externen Namen, die Authentifizierungseinstellungen und die SSL-Absicherung.

Neu ist, dass die RPCProxy-DLL bzw. Exchange nun auch im Eventlog Warnungen und Fehler protokolliert, so dass ein Blick ins Eventlog durchaus lohnenswert bei der Fehlersuche ist. Holen Sie das dann einfach nach. Nach der Installation der RPC/HTTP Proxy-Komponente und Änderungen an der Exchange Konfiguration sehen Sie ebenfalls entsprechende Meldungen im Eventlog.

Sie müssen aber dennoch den "RPC over HTTP Proxy" installieren. (Auch bei Windows 64 Bit). Hier ist die Fehlermeldung, wenn Sie "Outlook Anywhere" aktivieren aber auf dem darunter liegenden Windows vergessen haben, den RPC/HP Proxy zu installieren.

RPC2007 Fehler RPC2007 Konfiguration

RPC over HTTP auf Windows 2008 benötigt etwas Hilfe, da die Exchange Dienste nicht auf IPv6-Adressen lauscht, aber RCP/HTTP über Localhost die IPv6-Adresse nutzt
http://blog.aaronmarks.com/?p=65

Lösung: IPv6 in der Registrierung abschalten
HKLM\SYSTEM\CurrentControlSet\Services\Tcpip6\ParametersDisabledComponents:DWord32 = 0xFF

Hinweis:
Nutzen Sie als Name für CASARRAY und Outlook Anywhere (RPC/HTTP) nicht den gleichen FQDN. Wenn Outlook zuerst RPC versucht, sollte es aus dem Internet NICHT den Namen des CASARRAY auflösen können. Ansonsten dauert der Start sehr lange.

RPC und DC

RPC over HTTP spricht aber nicht nur mit Exchange, sondern muss natürlich auch den Domain Controller erreichen.

In Exchange 2007 agiert der MSExchangeSA auf Port 6004 als NSPI-Proxy zum DC. Daher ist es für Exchange nicht mehr erforderlich, dass der RPCProxy auch auf den DC zugreifen muss.

Ansonsten verbindet sich der RPCProxy mit dem Port 593 auf dem Windows Domain Controller. Auch dies kann mit einem TELNET geprüft werden.

telnet servername 593

Der Globale Katalog Domaincontroller muss sich, wie im Bild sichtbar, melden.