Kenntnisstand

 Juni 2023

Hintergrund

Auf einigen Systemen einer Microsoft Teams Umgebung bekommt der selbe Benutzer die Suchseite der MetaDirectory App nicht angezeigt, die er auf anderen Systemen problemlos nutzen kann. Die App selbst ist aber am Client aktiv. Die notwendigen Zertifikate sind ordnungsgemäß hinterlegt, was durch Aufruf der MetaDirectory Suchseite im Browser aus Teams heraus verifiziert werden kann:

Es wird ein Problem mit der Suchseite angenommen. 

Beispiel: Aktive MetaDirectory App für Teams ohne die Suchseite

Ziel

Begutachtung, ob die Suchseite bzw. der WebService des MetaDirectory tatsächlich das Problem darstellt.

Hierzu wird testweise alternativ ein fremder Web-Server auf dem MetaDirectory Server System aktiviert.

Vorgehensweise

Verifiziert wurde es mit dem im Internet frei verfügbaren Tiny Web Server von ReBex: Rebex Tiny Web Server (free) - Rebex.NET

Diese kann ohne Installation auf dem Server des MetaDirectory ausgeführt und genutzt werden.

  1. Beenden des MetaDirectory Server Dienstes unter Start\estos\MetaDirectory Stoppen
  2. Entpacken des Zip-Archivs RebexTinyWebServer-Binaries-Latest

    Beim ersten Start der RebexTinyWebServer.exe wird im gleichen Verzeichnis ein Unterverzeichnis wwwroot erzeugt. Beim Start des Tiny Web Servers werden ein Server Zertifikat (server-certificate.cer) und ein Client-Schlüssel (server-certificate.pfx) erzeugt.

  3. Ablage des eigenen im MetaDirectory verwendeten Server Zertifikats als *.cer Datei und des privaten Clients Schlüssels als *.pfx Datei im gleichen Verzeichnis wie die RebexTinyWebServer.exe. Diese können ggf. via Management-Konsole als Dateien mit Passwort versehen und exportiert werden (rechte Maustaste auf dem Zertifikat\Alle Aufgaben\Exportieren ...).


  4. Anpassen der Konfigurationsdatei RebexTinyWebServer.exe.config mit einem Texteditor. Hier werden die verwendeten Ports des MetaDirectory Web-Servers, der eigene Client Schlüssel und das eigene Passwort zum Schlüssel hinterlegt:
    <add key="httpPort" value="80" />
    <add key="httpsPort" value="443" />

    ...
    <add key="serverCertificateFile" value="Buettenwarder.pfx" />
    <add key="serverCertificatePassword" value="Adm110" />

    <?xml version="1.0" encoding="utf-8"?>
    <configuration>
      <appSettings>
        <!-- Server ports for HTTP and HTTPS protocols.
                 Leave empty value to disable the particular protocol.
                 Standard HTTP port is 80.
                 Standard HTTPS port is 443. 
                 -->
        <add key="httpPort" value="80" />
        <add key="httpsPort" value="443" />
        <!-- Root directory of the web server. -->
        <add key="webRootDir" value="./wwwroot" />
        <!-- Default file to be sent if the request URL points to a directory. -->
        <add key="defaultFile" value="index.html" />
        <!-- Server certificate and its password. -->
        <add key="serverCertificateFile" value="Buettenwarder.pfx" />
        <add key="serverCertificatePassword" value="Adm110" />
        <!-- Specifies whether to start the server when the application is launched. -->
        <add key="autoStart" value="false" />
      </appSettings>
      <startup>
        <supportedRuntime version="v4.0" sku=".NETFramework,Version=v4.6" />
      </startup>
    </configuration>
    CODE
  5. Die Firewall am MetaDirectory Server System für den Test ausschalten oder ggf. eine Regel für die RebexTinyWebServer.exe mit den verwendeten Ports erstellen. Für den MetaDirectory App Test wird nur der gesicherte Port (https) benötigt.
  6. Per Button Start den RebexTinyWebServer starten:


  7. Test zunächst mit einem Browser ggf. lokal am Server und am Client PC, wo Microsoft Teams mit der MetaDirectory App genutzt wird. Dort sollte dann folgende Seite erscheinen:


  8. Wenn der Microsoft Teams Client mit der MetaDirectory App den Zugriff auf das MetaDirectory Server System hat, dann stellt sich die App nun wie folgt dar:


    Bleibt der Bereich unterhalb der App leer wie im Beispiel oben am Anfang des Artikels gezeigt, dann besteht offensichtlich ein grundsätzliches Problem in der Microsoft Teams Umgebung, da der MetaDirectory Server Dienst beendet ist und alternativ nun der ReBex Server läuft und ebenfalls nicht erreichbar ist.

Es gilt die estos Richtlinie für die Unterstützung von Drittanbieterprodukten - Interoperabilitätsangaben.

Microsoft Teams is a trademark of the Microsoft group of companies.