Apache2 als Reverse Proxy für Exchange 2010 2013 inklusive Outlook Anywhere RPC over http

Aus Znilwiki
Wechseln zu: Navigation, Suche

Nachfolgend beschreibe ich wie

  • ein Webserver mit
  • mehreren Servern dahinter
  • sich eine externe IP teilen und
  • je nach DNS-Name / Subdomain die Anfragen zu den einzelnen Servern weiter geleitet werden
  • inklusive eines Exchange-Server mit OWA, ActiveSync und(!) Outlook Anywhere (RPC over http)


ChangeLog:

  • 20.11.2014: Eintrag in Konfigurationsdatei hinzugefügt damit AutoDiscover funktioniert - hatte Probleme bei der Authentifizierung
  • 20.11.2014: Expectation Failed Apache 417 - Fehler behoben! Der Remote Connectivity Analyzer meldet keine Fehler bei AutoDiscover und ActiveSync mehr!!!
  • 20.11.2014: Und noch den letzten Fehler gefunden - der Zugriff auf den /ews Teil scheiterte an der Authentifizierungsmethode NTLM - geht durch den Apache nicht Fehlerfrei durch, Workaoround gebaut
  • 21.11.2014: Text zu den notwendigen Subdomains und den Zertifikaten noch etwas weiter ausgeführt
  • 18.12.2014: a2enmod headers hinzugefügt, ist nicht unbedingt ab Werk aktiv
  • 17.12.2015: Ergänzungen zum OAB Modul (Offline Address Book) - Dank an T. Andreas
  • 21.04.2016: Ergänzung zum Anhang versenden per Active Sync - Danke an RWambacher



Ausgangslage

Ich habe einen ESXi-Server im Internet stehen. Auf diesem laufen

  • pfSense 2.1.5 als zentrale Firewall
  • ein WEBSERVER mit dieser und anderen Webseiten (Ubuntu 14.04.x LTS / Apache2 / MySQL) mit ISPConfig zur Verwaltung
  • ein ZABBIX Server (Zabbix 2.4.1 auf Ubuntu 14.04.x LTS / Apache2 / MySQL)
  • ein SEAFILE Server (Seafile 3.1.7 auf Ubuntu 14.04.x LTS / Apache2 / MySQL)
  • ein EXCHANGE Server (Exchange 2010 auf Windows Server 2008 R2, Server ist gleichzeitig DC)


Diesen Server habe ich bei Kimsufi gemietet - die sind sehr günstig - aber bieten auch nur eine einzige externe IP-Adresse.
Diese liegt an der pfSense Firewall extern an. Nun wollte ich das je nach Subdomain die entsprechende Webseite bzw. der entsprechende Server angesprochen wird.
Exchange-Apache-Proxy-001.png

Die Schwierigkeit lag nun darin das ich diverse Domänen haben - und hinter diesen verschieden Subdomains, teils mit http, teils mit https
Trotzdem sollte sich alles eine gemeinsame externe IP-Adresse teilen. Ich hätte ja auch nur den Port 443 an den Exchange weiterleiten (NAT) können - aber dann hätte ich keine anderen
Webseiten mit https absichern können ... und das in der heutigen Zeit
Bei Webseiten ist dies nicht weiter schwierig - je nachdem mit welchem DNS-Namen man von extern kommt serviert Apache die entsprechende Webseite.
Dies habe ich mit einer Apache-VirtualHost (vhost) Konfiguration gelöst: http://httpd.apache.org/docs/2.2/vhosts/examples.html
Da es einfacher zu verwalten ist nutze ich ISPConfig ( http://www.ispconfig.de/ ) zur Konfiguration.
Im Verzeichnis

/etc/apache2/sites-available

liegt dazu für jede Webseite / Subdomain eine passende Datei mit der Konfiguration eben dieser Domain / Subdomain.

# ls -l /etc/apache2/sites-available
drwxr-xr-x 2 root root 4096 Okt 31 19:34 ./
drwxr-xr-x 8 root root 4096 Okt 14 23:35 ../
-rw-r--r-- 1 root root 6437 Jan  7  2014 default-ssl.conf
-rw-r--r-- 1 root root 1622 Okt 31 08:44 ispconfig.conf
-rw-r--r-- 1 root root 2023 Okt 31 08:44 ispconfig.vhost
-rw-r--r-- 1 root root 3601 Nov  2 12:09 mail.linz.email.vhost
-rw-r--r-- 1 root root  922 Okt 31 19:57 seafile.znil.net.vhost
-rw-r--r-- 1 root root 3357 Okt 25 20:57 support.znil.net.vhost
-rw-r--r-- 1 root root  945 Okt 25 22:57 zabbix.znil.net.vhost
-rw-r--r-- 1 root root 3361 Okt 24 23:58 znil.de.vhost
-rw-r--r-- 1 root root 2923 Okt 25 00:01 znil.net.vhost

usw.
Jede Datei besitzt einen symbolischen link in das Verzeichnis

/etc/apache2/sites-enabled

es ist also beides die jeweils gleiche Datei.
Durch direktes Bearbeiten dieser Dateien kann man nun steuern wo etwas landen soll. Habt Ihr keine vhost Konfiguration so gibt es nur eine Datei in diesen Verzeichnissen und ihr müsst eben diese bearbeiten.



Apache Module nachinstallieren / aktiviern

Um den Apache auch als Reverse Proxy nutzen zu können brauch es ein paar Module die erst noch aktiviert werden müssen:

a2enmod headers
a2enmod rewrite
a2enmod proxy_http
a2enmod ssl

Im Anschluss ein

service apache2 restart

und es kann losgehen.



Domänen / Subdomains anlegen

Wenn Ihr wie ich eine VirtualHost Konfiguration mit Apache nutzt solltet Ihr zunächst die Domänen und Subdomänen anlegen - wenn Ihr wie ich ISPConfig nutzt dann eben mit diesem Tool

Ihr müsst bei eurem Provider / Hoster der Domänen die folgenden Subdomains anlegen:

  • wenn eure Domäne linz.email heisst dann die Subdomains
    • mail.linz.email <- da lassen wir den MX-Record drauf zeigen
    • autodiscover.linz.email <- brauchen wir damit Autodiscover funktioniert

Beide Einträge sollten dann auf die externe IP-Adresse eures Apache-Servers zeigen.

Diese Domänen brauchen wir dann auch auf eurem Server mit Apache. Falls ihr ISPConfig nutzt legt bitte nur die mail.domäne.suffix dort an - die andere Subdomain autodiscover.domäne.suffix schreiben wir direkt in die Konfigurationsdatei.



Port Weiterleitung / Port Forwarding / NAT

Egal ob wie hier eine pfSense-Maschine oder eine Fritzbox - leitet die externen Ports

80
443

an euren internen Webserver weiter (also den Server auf dem der Apache Reverse Proxy läuft).
Brauchen eure anderen Server noch weitere Ports wie bei mir (siehe Zeichnung oben) so leitet die entsprechenden Ports dann direkt an die jeweiligen Server weiter,
bei mir z.B. den Port 25 für SMTP an den Exchange Server oder den Port 10051 an den Zabbix-Server.



Apache Reverse Proxy

Nachdem wir die Domänen angelegt haben und es für jede dieser Domänen eine eigene .vhost Datei unter

/etc/apache2/sites-available
/etc/apache2/sites-enabled

gibt bearbeiten wir diese für die verschiedenen Subdomains.
Bei mir ist es so das alle Domänen unter sites-available liegen und es einen symbolischen Link nach sites-enabled.
Wichtig ist letztendlich was unter sites-enabled steht.



Zabbix-Server (zum Aufwärmen)

Bevor wir mit der "dicken" Konfigurationsdatei für Exchange anfangen eine kleinere, leichtere zum Einstieg und zum Verständnis.
Mein Zabbix-Server soll extern über die Subdomain

zabbix.znil.net

erreichbar sein.
In ISPConfig habe ich diese Subdomäne als Host angelegt und habe somit auch eine Datei

/etc/apache2/sites-available/zabbix.znil.net.vhost

Intern hat der Zabbix-Server die IP-Adresse

192.168.200.20

Wir bearbeiten nun also die Datei:

nano /etc/apache2/sites-available/zabbix.znil.net.vhost

Löschen den gesamten Inhalt (bei nano mal F9 probieren!) und ersetzen diesen durch den folgenden:

<VirtualHost 192.168.200.10:80>
               ServerName zabbix.znil.net
               ServerAdmin webmaster@znil.net
               ProxyPass / http://192.168.200.20/
               ProxyPassReverse / http://192.168.200.20/
</VirtualHost>

<VirtualHost 192.168.200.10:443>
               ServerName zabbix.znil.net
               ServerAdmin webmaster@znil.net
               SSLEngine on
               SSLCertificateFile /var/www/zabbix.znil.net/ssl/zabbix.znil.net.crt
               SSLCertificateKeyFile /var/www/zabbix.znil.net/ssl/zabbix.znil.net.key
               ProxyPass / http://192.168.200.20/
               ProxyPassReverse / http://192.168.200.20/
</VirtualHost>

Wie Ihr seht gibt es jeweils eine http (Port 80) und https (Port 443) Konfiguration. Braucht ihr eines von beiden nicht so lasst es weg.

Erklärungen:

<VirtualHost 192.168.200.10:80>             : Die 192.168.200.10 ist die interne IP-Adresse unseres Webservers.
                                              Auf diese IP werden per NAT von extern die Ports 80 und 443 weiter geleitet.
                                              Steht euer Webserver direkt im Internet wäre dies die öffentliche IP des Servers
                                              Der Port ist hier 80 (hhtp) oder 443 (https)

ServerName zabbix.znil.net                  : Die Subdomäne / Domäne für welche die Einstellungen gelten sollen

ServerAdmin webmaster@znil.net              : Email-Adresse an die sich bei Problemen gewandt werden soll

ProxyPass / http://192.168.200.20/          : leitet alle Anfragen an die Subdomain an diese (interne) IP-Adresse weiter.
                                              Man könnte auch einen DNS-Namen nehmen

ProxyPassReverse / http://192.168.200.20/   : Der Rückweg zur vorherigen Regel

Bei der SSL Konfiguration steht zusätzlich noch

SSLEngine on
SSLCertificateFile /var/www/zabbix.znil.net/ssl/zabbix.znil.net.crt
SSLCertificateKeyFile /var/www/zabbix.znil.net/ssl/zabbix.znil.net.key

Hier wird also ein SSL Zertifikat verwendet - die Kommunikation nach extern(!) findet also verschlüsselt statt! Intern ist die Weiterleitung aber per http:, intern wird also unverschlüsselt Kommuniziert.
Soll/Muss intern der Datenverkehr auch verschlüsselt stattfinden so gebt einfach die https-Adressen an.
Man kann auch noch "Rewrite" Regeln angeben - das ist eine Text-Ersetzung die stattfindet.
Wenn Ihr im Teil für Port 80 so ändert:

 <VirtualHost 192.168.200.10:80>
               ServerName zabbix.znil.net
               ServerAdmin webmaster@znil.net
               RewriteEngine On
               RewriteCond %{HTTPS} off
               RewriteRule (.*) https://%{HTTP_HOST}%{REQUEST_URI} [R=301,L] </VirtualHost>
</VirtualHost>

Würde ein http: Aufruf auf https: umgeleitet.
Von den Rewrites macht gleich die Exchange-Lösung massiv gebrauch.



Exchange-Server

Die Exchange-Version ist etwas umfangreicher ...

<VirtualHost 192.168.200.10:80>
ServerName mail.linz.email
ServerAlias exchange.znil.local
ServerAlias autodiscover.linz.email
ServerAdmin admin@znil.net
 
ErrorLog /var/log/apache2/error.log
CustomLog /var/log/apache2/access.log combined
 
Header always set X-Frame-Options SAMEORIGIN
 
Header set Server Apache
 
Header unset X-AspNet-Version
Header unset X-OWA-Version
Header unset X-Powered-By
 
# Nachfolgende zeile löst den "Expectation Failed Apache 417" Fehler beim AutoDiscover etc.
RequestHeader unset Expect early
 
# Nachfolgende Zeilen sind um die Authentifizierung zu ermöglichen - NTLM-Funktioniert durch den Proxy nicht, deshalb Basis-Authentifizierung erzwingen
SetEnvIf User-Agent ".*MSIE.*" value BrowserMSIE
Header unset WWW-Authenticate
Header add WWW-Authenticate "Basic realm=mail.linz.email"
 
ProxyRequests Off
 
RewriteEngine On
RewriteCond %{HTTPS} !=on
RewriteRule ^/owa(.*) https://mail.linz.email/owa$1 [R,L]
RewriteRule ^/ecp(.*) https://mail.linz.email/ecp$1 [R,L]
RewriteRule ^/Microsoft-Server-ActiveSync(.*) https://mail.linz.email/Microsoft-Server-ActiveSync$1 [R,L]
 
DocumentRoot /var/www/mail.linz.email/web
 
<Directory />
    Order deny,allow
    Deny from all
</Directory>
 
<Directory /var/www/mail.linz.email/web>
    DirectoryIndex index.php index.html
    Options -Indexes +FollowSymLinks
    Order allow,deny
    Allow from all
</Directory>
 
<Proxy *>
        Order deny,allow
        Allow from all
</Proxy>
 
</VirtualHost>
 
 
 
 
<VirtualHost 192.168.200.10:443>
 
ServerName mail.linz.email
ServerAlias autodiscover.linz.email
 
ServerAdmin admin@linz.email
 
ErrorLog /var/log/apache2/error.log
CustomLog /var/log/apache2/access.log combined
 
Header always set X-Frame-Options SAMEORIGIN
 
Header set Server Apache
 
Header unset X-AspNet-Version
Header unset X-OWA-Version
Header unset X-Powered-By
 
RequestHeader unset Expect early
 
#SetEnvIf User-Agent ".*MSIE.*" value BrowserMSIE
Header unset WWW-Authenticate
Header add WWW-Authenticate "Basic realm=mail.linz.email"
 
ProxyRequests Off
ProxyPreserveHost On
 
 
SSLProxyEngine On
# Problemen mit Kommunikation zwischen Apache-Proxy und Exchange-Server aus dem Wege gehen
# Alle SSL Prüfungen werden damit ausgeschaltet
SSLProxyVerify none
SSLProxyCheckPeerCN off
SSLProxyCheckPeerName off
SSLProxyCheckPeerExpire off
 
# owa
ProxyPass /owa https://192.168.200.80/owa
ProxyPassReverse /owa https://192.168.200.80/owa
ProxyPass /OWA https://192.168.200.80/OWA
ProxyPassReverse /OWA https://192.168.200.80/OWA
ProxyPass /Owa https://192.168.200.80/Owa
ProxyPassReverse /Owa https://192.168.200.80/Owa
 
# Einstellungen um per OWA das Kennwort zu aendern
ProxyPass /iisadmpwd https://192.168.200.80/iisadmpwd
ProxyPassReverse /iisadmpwd https://192.168.200.80/iisadmpwd
 
# ecp
ProxyPass /ecp https://192.168.200.80/ecp
ProxyPassReverse /ecp https://192.168.200.80/ecp
ProxyPass /ECP https://192.168.200.80/ECP
ProxyPassReverse /ECP https://192.168.200.80/ECP
ProxyPass /Ecp https://192.168.200.80/Ecp
ProxyPassReverse /Ecp https://192.168.200.80/Ecp
 
# ews -> Exchange Web Services
ProxyPass /ews https://192.168.200.80/ews
ProxyPassReverse /ews https://192.168.200.80/ews
ProxyPass /EWS https://192.168.200.80/EWS
ProxyPassReverse /EWS https://192.168.200.80/EWS
ProxyPass /Ews https://192.168.200.80/Ews
ProxyPassReverse /Ews https://192.168.200.80/Ews
ProxyPass /exchange https://192.168.200.80/exchange
ProxyPassReverse /exchange https://192.168.200.80/exchange
ProxyPass /Exchange https://192.168.200.80/Exchange
ProxyPassReverse /Exchange https://192.168.200.80/Exchange
ProxyPass /exchweb https://192.168.200.80/exchweb
ProxyPassReverse /exchweb https://192.168.200.80/exchweb
ProxyPass /public https://192.168.200.80/public
ProxyPassReverse /public https://192.168.200.80/public
 
# oab (Offline Address Book)
ProxyPass /oab https://192.168.200.80/oab
ProxyPassReverse /oab https://192.168.200.80/oab
ProxyPass /OAB https://192.168.200.80/OAB
ProxyPassReverse /OAB https://192.168.200.80/OAB
 
# Microsoft-Server-ActiveSync
ProxyPass /Microsoft-Server-ActiveSync https://192.168.200.80/Microsoft-Server-ActiveSync connectiontimeout=600
ProxyPassReverse /Microsoft-Server-ActiveSync https://192.168.200.80/Microsoft-Server-ActiveSync
 
<Directory /Microsoft-Server-ActiveSync>
# Problem mit dem Versenden von Dateianhängen > 128KByte per ActiceSync umgehen (neuer Wert 30MByte)
SSLRenegBufferSize 31457280
</Directory>
 
# AutoDiscover  -> Autodiscover for non-AD integrated Clients (Mac, eg.)
ProxyPass /autodiscover https://192.168.200.80/autodiscover
ProxyPassReverse /autodiscover https://192.168.200.80/autodiscover
ProxyPass /Autodiscover https://192.168.200.80/Autodiscover
ProxyPassReverse /Autodiscover https://192.168.200.80/Autodiscover
ProxyPass /AutoDiscover https://192.168.200.80/AutoDiscover
ProxyPassReverse /AutoDiscover https://192.168.200.80/AutoDiscover
 
# Zeichensatz spezifieren fuer Umlaute
AddDefaultCharset ISO-8859-1
 
DocumentRoot /var/www/mail.linz.email/web
 
<Directory />
    Order deny,allow
    Deny from all
</Directory>
 
<Directory /var/www>
    DirectoryIndex index.php index.html
    Options -Indexes +FollowSymLinks
    Order allow,deny
    Allow from all
</Directory>
 
<Proxy *>
        SetEnv proxy-nokeepalive 1
        SetEnv force-proxy-request-1.0 1
        Order deny,allow
        Allow from all
</Proxy>
 
  SSLEngine on
        SSLCertificateFile    /var/www/mail.linz.email/ssl/mail.linz.email.crt
        SSLCertificateKeyFile /var/www/mail.linz.email/ssl/mail.linz.email.key
 
  BrowserMatch "MSIE [2-6]" \
    nokeepalive ssl-unclean-shutdown \
    downgrade-1.0 force-response-1.0
  # MSIE 7 and newer should be able to use keepalive
  BrowserMatch "MSIE [17-9]" ssl-unclean-shutdown
 
  # old Server config
        #BrowserMatch ".*MSIE.*" \
        #        nokeepalive ssl-unclean-shutdown \
        #        downgrade-1.0 force-response-1.0
</VirtualHost>

Der Port 80 Teil ist nicht viel mehr als eine http zu https Umleitung.
Es ist das Verzeichnis

/var/www/mail.linz.email/web

angegeben - da liegt eine index.html mit einer Weiterleitung und ein paar Informationen und dem Link auf das Root-Zertifikat etc. - kann man machen, muss man aber nicht.

Ihr müsst alle folgenden Einträge mindestens anpassen

  • IP-Adresse 192.168.200.10 an eure IP-Adresse des Webservers
  • IP-Adresse 192.168.200.40 an eure IP-Adresse des Exchange-Server
  • mail.linz.email ändern zu eurem externen DNS-Namen
  • autodiscover.linz.email ändern zu eurem externen DNS-Namen.


Ausserdem müsst Ihr ein externes Zertifikat erstellen und angeben - das kann das vom Exchange-Server exportierte sein - oder aber ein anderes, selbst erstelltes.
Wie man das vom Exchange-Server verwendet steht im nächsten Abschnitt.

Vergesst nicht den Apache neu zu starten nach Änderungen in der Datei!

service apache2 restart



Zertifikat aus Exchange und das Exportieren um es in Apache zu nutzen

Erstellt auf dem Exchange-Server ein passenden Zertifikat. Es muss mindestens

  • den Internen DNS-Namen
  • den Externen DNS-Namen
  • Den Internen NetBIOS Namen

enthalten.

Falls Ihr dafür eine eigene Stammzertifizierungsstelle nutzt (die von Windows) solltet Ihr später auf den Windows-Clients die per 'OWA oder Outlook Anywhere zugreifen wollt solltet das Zertifikat dieser Stammzertifzierungsstelle auf den Clients importieren - der Client vertraut dann allen Zertifikaten die von dieser Zertifizierungsstelle ausgestellt wurden.
Falls Ihr Outlook mit Outlook Anywhere / RPC over https nutzt müsst ihr das sogar machen! Sonst verbindet sich Outlook nicht!

Exportiert euer Exchange-Zertifikat wie hier beschrieben: https://www.sslshopper.com/move-or-copy-an-ssl-certificate-from-a-windows-server-to-an-apache-server.html
Alternativ gibt es im Exchange auch einen Menüpunkt dafür.

Dann kopiert Ihre eure .pfx Datei auf den Linux-Webserver.
Ich nenne die Datei hier mal zertifikat.pfx, nachfolgend beschreibe ich die Befehle um das Zertifikat umzuwandeln:

openssl pkcs12 -in zertifikat.pfx -nocerts -out zertifikat.private.key
openssl rsa -in zertifikat.private.key -out zertifikat.key
rm zertifikat.private.key
openssl pkcs12 -in zertifikat.pfx -clcerts -nokeys -out zertifikat.crt

Nun hab Ihr eine .crt und .key Date im Verzeichnis liegen die Ihr wie oben zu sehen einbinden könnt (mit genauen Pfad)

Nun funktioniert bei Outlook das folgende:

* OWA
* Active Sync

aber leider noch nicht Outlook Anywhere -> und das kommt im nächsten Abschnitt!



Outlook Anywhere Unterstützung nachinstallieren


Important.png

Hinweis: Die nachfolgenden Anleitung könnt Ihr unter Ubuntu 14.04.x inzwischen abkürzen - Ihr müsst das Modul inzwischen nicht mehr selbst kompilieren, es ist in den Paketquellen enthalten.

apt-get install libapache2-mod-proxy-msrpc
Ihr könnt danach direkt zum Abschnitt mod_proxy_msrpc in Apache einbinden springen


Das funktioniert mit Apache-versionen ab 2.4.x - eure Version könnt Ihr mit

apache2 -v

Abfragen:

Server version: Apache/2.4.7 (Ubuntu)
Server built:   Jul 22 2014 14:36:38



Apache selbst kann das mit dem Outlook Anywhere nicht mehr - aber jemand hat eine Lösung gebaut:

https://modules.apache.org/modules.lua?id=39
https://github.com/bombadil/mod_proxy_msrpc

Zusätzlich habe ich mir das hier durchgelesen um zu dieser Lösung zu kommen: http://www.klehr.de/michael/apache-als-reverse-proxy-fuer-outlook-anywhere/
Ich habe dann mir hier wieder eine Schritt-für-Schritt Anleitung daraus gebaut.

Die Installation dieses Moduls geht wie folgt:



Vorraussetzungen schaffen

apt-get install make gcc check

eventuell fehlen in eurem System noch mehr Vorraussetzungen:

No package 'check' found

Dann Installiert diese eben genau nach!



mod_proxy_msrpc herunterladen

git clone https://github.com/bombadil/mod_proxy_msrpc.git /usr/src/mod_proxy_msrpc




mod_proxy_msrpc kompilieren und kopieren

cd /usr/src/mod_proxy_msrpc/
./configure
make

In das Apache-Verzeichnis kopieren:

cp /usr/src/mod_proxy_msrpc/src/.libs/mod_proxy_msrpc.so /usr/lib/apache2/modules/

Dann noch folgende Datei erstellen:

nano /etc/apache2/mods-available/proxy_msrpc.load

und diesen Inhalt hinein kopieren:

LoadModule proxy_msrpc_module /usr/lib/apache2/modules/mod_proxy_msrpc.so

Speichern.


mod_proxy_msrpc in Apache einbinden

Nun können wir mit

a2enmod proxy_msrpc

die Erweiterung aktivieren.
Vor dem Neustart von Apache passen wir unsere .vhost Datei nocheinmal an:

nano /etc/apache2/sites-available/mail.linz.email.vhost

und fügen noch folgende Zeile ein:

# RPC over http(s) / Outlook Anywhere
OutlookAnywherePassthrough On
ProxyPass /rpc https://192.168.200.80/rpc
ProxyPassReverse /rpc https://192.168.200.80/rpc


Jetzt noch ein Neustart von Apache:

service apache2 restart

und wir können den Erfolg testen!



Vollständige vHost-Datei

Hier noch mal die komplette vHost-Datei:

<VirtualHost 192.168.200.10:80>
ServerName mail.linz.email
ServerAlias exchange.znil.local
ServerAlias autodiscover.linz.email
ServerAdmin admin@znil.net
 
ErrorLog /var/log/apache2/error.log
CustomLog /var/log/apache2/access.log combined
 
Header always set X-Frame-Options SAMEORIGIN
 
Header set Server Apache
 
Header unset X-AspNet-Version
Header unset X-OWA-Version
Header unset X-Powered-By
 
# Nachfolgende zeile löst den "Expectation Failed Apache 417" Fehler beim AutoDiscover etc.
RequestHeader unset Expect early
 
# Nachfolgende Zeilen sind um die Authentifizierung zu ermöglichen - NTLM-Funktioniert durch den Proxy nicht, deshalb Basis-Authentifizierung erzwingen
SetEnvIf User-Agent ".*MSIE.*" value BrowserMSIE
Header unset WWW-Authenticate
Header add WWW-Authenticate "Basic realm=mail.linz.email"
 
ProxyRequests Off
 
RewriteEngine On
RewriteCond %{HTTPS} !=on
RewriteRule ^/owa(.*) https://mail.linz.email/owa$1 [R,L]
RewriteRule ^/ecp(.*) https://mail.linz.email/ecp$1 [R,L]
RewriteRule ^/Microsoft-Server-ActiveSync(.*) https://mail.linz.email/Microsoft-Server-ActiveSync$1 [R,L]
 
DocumentRoot /var/www/mail.linz.email/web
 
<Directory />
    Order deny,allow
    Deny from all
</Directory>
 
<Directory /var/www/mail.linz.email/web>
    DirectoryIndex index.php index.html
    Options -Indexes +FollowSymLinks
    Order allow,deny
    Allow from all
</Directory>
 
<Proxy *>
        Order deny,allow
        Allow from all
</Proxy>
 
</VirtualHost>
 
 
 
 
<VirtualHost 192.168.200.10:443>
 
ServerName mail.linz.email
ServerAlias autodiscover.linz.email
 
ServerAdmin admin@linz.email
 
ErrorLog /var/log/apache2/error.log
CustomLog /var/log/apache2/access.log combined
 
Header always set X-Frame-Options SAMEORIGIN
 
Header set Server Apache
 
Header unset X-AspNet-Version
Header unset X-OWA-Version
Header unset X-Powered-By
 
RequestHeader unset Expect early
 
#SetEnvIf User-Agent ".*MSIE.*" value BrowserMSIE
Header unset WWW-Authenticate
Header add WWW-Authenticate "Basic realm=mail.linz.email"
 
ProxyRequests Off
ProxyPreserveHost On
 
SSLProxyEngine On
# Problemen mit Kommunikation zwischen Apache-Proxy und Exchange-Server aus dem Wege gehen
# Alle SSL Prüfungen werden damit ausgeschaltet
SSLProxyVerify none
SSLProxyCheckPeerCN off
SSLProxyCheckPeerName off
SSLProxyCheckPeerExpire off
 
# owa
ProxyPass /owa https://192.168.200.80/owa
ProxyPassReverse /owa https://192.168.200.80/owa
ProxyPass /OWA https://192.168.200.80/OWA
ProxyPassReverse /OWA https://192.168.200.80/OWA
ProxyPass /Owa https://192.168.200.80/Owa
ProxyPassReverse /Owa https://192.168.200.80/Owa
 
# Einstellungen um per OWA das Kennwort zu aendern
ProxyPass /iisadmpwd https://192.168.200.80/iisadmpwd
ProxyPassReverse /iisadmpwd https://192.168.200.80/iisadmpwd
 
# ecp
ProxyPass /ecp https://192.168.200.80/ecp
ProxyPassReverse /ecp https://192.168.200.80/ecp
ProxyPass /ECP https://192.168.200.80/ECP
ProxyPassReverse /ECP https://192.168.200.80/ECP
ProxyPass /Ecp https://192.168.200.80/Ecp
ProxyPassReverse /Ecp https://192.168.200.80/Ecp
 
# ews -> Exchange Web Services
ProxyPass /ews https://192.168.200.80/ews
ProxyPassReverse /ews https://192.168.200.80/ews
ProxyPass /EWS https://192.168.200.80/EWS
ProxyPassReverse /EWS https://192.168.200.80/EWS
ProxyPass /Ews https://192.168.200.80/Ews
ProxyPassReverse /Ews https://192.168.200.80/Ews
ProxyPass /exchange https://192.168.200.80/exchange
ProxyPassReverse /exchange https://192.168.200.80/exchange
ProxyPass /Exchange https://192.168.200.80/Exchange
ProxyPassReverse /Exchange https://192.168.200.80/Exchange
ProxyPass /exchweb https://192.168.200.80/exchweb
ProxyPassReverse /exchweb https://192.168.200.80/exchweb
ProxyPass /public https://192.168.200.80/public
ProxyPassReverse /public https://192.168.200.80/public
 
# oab (Offline Address Book)
ProxyPass /oab https://192.168.200.80/oab
ProxyPassReverse /oab https://192.168.200.80/oab
ProxyPass /OAB https://192.168.200.80/OAB
ProxyPassReverse /OAB https://192.168.200.80/OAB
 
# Microsoft-Server-ActiveSync
ProxyPass /Microsoft-Server-ActiveSync https://192.168.200.80/Microsoft-Server-ActiveSync connectiontimeout=600
ProxyPassReverse /Microsoft-Server-ActiveSync https://192.168.200.80/Microsoft-Server-ActiveSync
 
<Directory /Microsoft-Server-ActiveSync>
# Problem mit dem Versenden von Dateianhängen > 128KByte per ActiceSync umgehen (neuer Wert 30MByte)
SSLRenegBufferSize 31457280
</Directory>
 
# RPC over http(s) / Outlook Anywhere
OutlookAnywherePassthrough On
ProxyPass /rpc https://192.168.200.80/rpc
ProxyPassReverse /rpc https://192.168.200.80/rpc
 
# AutoDiscover  -> Autodiscover for non-AD integrated Clients (Mac, eg.)
ProxyPass /autodiscover https://192.168.200.80/autodiscover
ProxyPassReverse /autodiscover https://192.168.200.80/autodiscover
ProxyPass /Autodiscover https://192.168.200.80/Autodiscover
ProxyPassReverse /Autodiscover https://192.168.200.80/Autodiscover
ProxyPass /AutoDiscover https://192.168.200.80/AutoDiscover
ProxyPassReverse /AutoDiscover https://192.168.200.80/AutoDiscover
 
# Zeichensatz spezifieren fuer Umlaute
AddDefaultCharset ISO-8859-1
 
DocumentRoot /var/www/mail.linz.email/web
 
<Directory />
    Order deny,allow
#    Order allow,deny
    Deny from all
#    Allow from all
</Directory>
 
<Directory /var/www>
    DirectoryIndex index.php index.html
    Options -Indexes +FollowSymLinks
    Order allow,deny
    Allow from all
</Directory>
 
<Proxy *>
        SetEnv proxy-nokeepalive 1
        SetEnv force-proxy-request-1.0 1
        Order deny,allow
        Allow from all
</Proxy>
 
  SSLEngine on
        SSLCertificateFile    /var/www/mail.linz.email/ssl/mail.linz.email.crt
        SSLCertificateKeyFile /var/www/mail.linz.email/ssl/mail.linz.email.key
 
  BrowserMatch "MSIE [2-6]" \
    nokeepalive ssl-unclean-shutdown \
    downgrade-1.0 force-response-1.0
  # MSIE 7 and newer should be able to use keepalive
  BrowserMatch "MSIE [17-9]" ssl-unclean-shutdown
 
  # old Server config
        #BrowserMatch ".*MSIE.*" \
        #        nokeepalive ssl-unclean-shutdown \
        #        downgrade-1.0 force-response-1.0
</VirtualHost>




Basic Auth / Standardauthentifizierung für Exchange aktivieren

Wenn Ihr bis hierhin gekommen seit läuft schon mal alles scheinbar schön schnucklig.
Das Autodiscover funktioniert - sofern es die Subdomain "autodiscover.euredomain.suffix" gibt und ihr diese brav als Alias mit in der Apache-Konfig Datei habt.

Wenn Ihr wie ich Outlook Anywhere nutzt wird euch aber nach einer Weile auffallen das der Abwesenheitsassistent z.B. nicht funktioniert.
Und bei jeder neuen Email steht oben eine Hinweis:

Exchange-Apache-Reverse-Proxy-004.png


Nach einigen Stunden(!) Tests - in denen ich mich langsam an das Problem herangetastet habe - fand ich endlich den Grund des Übels:
Die Verbindung dafür geht über

https://externe-adresse-exchange/ews

und an dieser Stelle scheitert die Authentifizierung - weil hier nur NTLM zugelassen ist.
NTLM geht aber durch den Apache nicht sauber durch.
Deshalb gibt es in der Konfig oben die Zeilen:

#SetEnvIf User-Agent ".*MSIE.*" value BrowserMSIE
Header unset WWW-Authenticate
Header add WWW-Authenticate "Basic realm=mail.linz.email"

Welche auf die Basic Auth umschalten - dadurch funktioniert dann nämlich Autodiscover.
Nun akptzeptiert aber der /ews Pfad Basic Auth bzw. Standardauthentifizierung nicht.

Das müssen wir auf dem Exchange-Server ändern das er dies auch dafür zulässt:

Öffnet auf dem Exchange-Server den

Internetinformationsdienste (IIS)-Manager

den Ihr in der Verwaltung findet.
Navigiert euch durch bis Ihr links EWS markiert habt und klickt dann rechts auf Authentifizierung:

Exchange-Apache-Reverse-Proxy-001.png


Markiert in der neuen Auswahl den Eintrag Standardauthentifizierung und dann oben rechts auf Aktivieren:

Exchange-Apache-Reverse-Proxy-002.png


Exchange-Apache-Reverse-Proxy-003.png



Und schon klappt es auch mit dem Abwesenheitsassistenten etc. und es gibt keine Warnungen mehr beim Email-Schreiben.

Bleibt noch das Offline Address Buch, hier gibt es das gleiche Problem, also noch mal das gleiche:

Exchange-Apache-Reverse-Proxy-011.png


Exchange-Apache-Reverse-Proxy-012.png




Ergebnisse des "Microsoft Remote Connectivity Analyzer"

Findet Ihr unter: https://testconnectivity.microsoft.com/

Ergebnisse gemäß den vorstehenden Konfigurationsschritte bei mir: (Bilder anklicken zum vergrößern)

Exchange-Webdienste: Synchronisierung, Benachrichtigung, Verfügbarkeit und automatische Antworten:

Exchange-Apache-Reverse-Proxy-005.png


Exchange ActiveSync-AutoErmittlung:

Exchange-Apache-Reverse-Proxy-006.png


Exchange ActiveSync:

Exchange-Apache-Reverse-Proxy-007.png




Kommentare

Kommentare


kay.urbach@gmx.de

852 Tage zuvor
Punkte 0+-

Killer. Das Tutorial ist einfach nur der Killer. Hab mich vor langer, langer Zeit mal damit rumgeschlagen, aber jetzt wird's wieder mal aktuell. Werd dich gern auf dem laufenden halten. Geplantes Setup: FW mit SSL-VPN, Reverse-Proxy, Exchange 2013, OWA, RPC, ActiveSync - bin noch am überlegen aber ich denke, der RP steht wie der "normale" Proxy und das Mail GW in der DMZ - alles andere wird dann ins LAN geroutet. Ich plane mit Brocade Vyatta (die Router und ggf. Radius+L2TP-GW), PfSense/clearOS/endian (noch unklar - als FW/SSL-VPN Endpoint) Squid als Proxy, Apache als Reverse Proxy, postfix als Mail-GW.

Greetz

cyprian@urbaniaks.de

842 Tage zuvor
Punkte 0+-

Super Anleitung, bräuchte jedoch ein wenig hilfe... Welche Debian/Ubuntu version wurde hier verwendet und welche apache2 Version aus welchem repository wurde verwendet? Habe schon zig VMs am Laufen und dieses RPC over https bringt mich um den Verstand :-( Danke im Voraus!

cyprian

BLinz

842 Tage zuvor
Punkte 0+-

Das ganez läuft bei mir auf Ubuntu 14.04. LTS. Ich habe keine extra Apache Version etc, es ist die aus dem Standard Repository (Version 2.4.7 zur Zeit). Ein Kollege hatte zunächst auch probleme und es lag an den "Basics"

Schritt 1: Subdomain anlegen und testen ob die Standardseite von Apache kommt

Schritt 2: Umbau auf SSL und wieder testen on es geht (Zertifikat vom Exchange)

Schritt 3: JETZT erst veruschen wir den Reverse Proxy einzurichten!

Bernhard

BLinz

842 Tage zuvor
Punkte 0+-
Man, ich brauche eine neue Tastatur ... wie die alte die Buchstaben durcheinander würfelt ....

BLinz

842 Tage zuvor
Punkte 0+-
Nachtrag: Und die Musterdatei genau durchschauen - ob die Pfade passen!

Timo

833 Tage zuvor
Punkte 0+-

Bei dem Kollegen läuft es jetzt auch ;-) Also wenn man sich genau an die Anleitung hält klappt es. Habe bei mir mal das libapache2-mod-proxy-msrpc ausprobiert, was es fertig kompiliert in den Repos gibt. Funktioniert auch 1A.

Gruß

Timo

Michael

695 Tage zuvor
Punkte 0+-

Hallo zusammen hab da mal ne Frage: Soweit läuft alles super aber wenn ich meinen server testen will bei ssl labs dann bekomme ich folgende Meldung: (No secure protocols supported)

Obwohl er ja SSL macht ... weiss jmd wieso =???

stefan@skittel.de

674 Tage zuvor
Punkte 0+-

Hallo, Gibt es eine Möglichkeit Fail2Ban einzubinden? Viele Grüße

Stefan Kittel

nnithaz@gmail.com

573 Tage zuvor
Punkte 0+-

Hallo,

kann mir einer sagen, wie es aussieht, wenn ich mehrere Exchange server habe. Kann ich den Apache dann als LoadBalaner konfigurieren?

Boyz

BLinz

571 Tage zuvor
Punkte 0+-
Also mehrere CAS-HUB? Da alles nur über 443 geht sollte das prinzipiell gehen. Müsste ich aber auch erst erforschen.

Mr. White

537 Tage zuvor
Punkte 0+-

Funzt bestens. Mein erster Reverse Proxy und alles klappt inkl. Outlook Anyhwere, der Hammer!!! Habe auch libapache2-mod-proxy-msrpc verwendet.

Daumen hoch

Manule

504 Tage zuvor
Punkte 0+-

Hallo zusammen, habe die Anleitung vor einiger Zeit gefunden und einen Reverse Proxy aufgesetzt der für OwnCloud und Exchange 2010 vermittelt. Hat alles auf anhieb Problemlos funktioniert. Aber mit einer Besonderheit kämpfe ich nun schon eine Weile ohne Erfolg. Der Exchange 2010 läuft auf einem SBS2011, dieser Wiederrum bringt eine Remote Webseite (Web Workplace) mit die leider auch 443 nutzt. Der Aufruf erfolgt wie bei OWA TLD/owa über TLD/remote. Die Einrichtung einer Subdomain remote.TLD und Umleitung über den Proxy hat leider nicht funktioniert, an den Authentifizierungen habe ich im IIS auch schon mein möglichstes Probiert... Leider ohne Erfolg.

Vllt. liest dies hier jemand und hat einen Tipp für mich?

Michael

430 Tage zuvor
Punkte 0+-

Hallo zusammen funktioniert alles soweit bei mir allerding bekomme ich im Error Log vom Apache folgende Meldungen:

[proxy_http:error] [pid 1084] (70007)The timeout specified has expired: [client XX.XX.XX.XX:53195] AH01102: error reading status line from remote server XX.XX.XX.XX:443

[Sun Jan 24 11:54:39.659453 2016] [proxy:error] [pid 1084] [client XX.XX.XX:XX:53195] AH00898: Error reading from remote server returned by /Microsoft-Server-ActiveSync

Kann das noch jmd beobachten?

Micha

315 Tage zuvor
Punkte 0+-
Hat keiner eine Idee dazu hab das Prob nach wie vor

BLinz

315 Tage zuvor
Punkte 0+-

Solange alles funktioniert ist das eben kein Problem.

Warscheinlich liegt das am "Push" Trick von Exchange. Push ist ja die Einstellung zum Beispiel auf dem Smartfone das neue Emails unmittelbar ankommen. Der Trick ist das vom Smartfone eine Anfrage an den Exchange geöffnet wird ... und diese wird 10 Minuten oder länger offen gehalten. Sprich es kann sein das der Exchange erst nach 9 Minuten auf die Anfrage antwortet mit "Mail da".

Wenn aber in der Zeit einer der beiden schon Aufgeben hat - der Exchange nicht mehr auf die offene Anfrage antwortet oder das Smartfone nicht mehr horcht gibt es halt einen Fehler. Nicht schlimm, die nächste Anfrage kommt bestimmt.

Betrifft nicht nur Smartfone sondern alles was ActiveSync oder Outlook Anywhere macht.

Micha

298 Tage zuvor
Punkte 0+-

Okay danke schonmal für die Erklärung na ja soweit funzt alles aber meine Outlook clients trennen sich sporadisch und verbinden sich direkt wieder neu .

Ich weiss nicht ob es mit disem Error zu tun hat aber sonst finde ich keine Unregelmäßigkeiten.

olebole@t-link.de

371 Tage zuvor
Punkte 0+-

Ich bekomme leider SSL-Fehler. Ein wget https://dns.…exchange/owa geht, aber der Apache sagt: [Wed Mar 23 13:16:00.619733 2016] [proxy:error] [pid 4990:tid 140640265840384] (502)Unknown error 502: [client 192.168.xx.xx:57828] AH01084: pass request body failed to 192.168.yy.yy:443 (dns.des.internen.exchange) [Wed Mar 23 13:16:00.619839 2016] [proxy:error] [pid 4990:tid 140640265840384] [client 192.168.xx.xx:57828] AH00898: Error during SSL Handshake with remote server returned by /owa/ [Wed Mar 23 13:16:00.619848 2016] [proxy_http:error] [pid 4990:tid 140640265840384] [client 192.168.xx.xx:57828] AH01097: pass request body failed to 192.168.yy.yy:443 (dns.des.internen.exchange) from 192.168.xx.xx ()


Was kann ich tun?

BLinz

371 Tage zuvor
Punkte 0+-

kannst du denn von intern über die externe Seite nach intern zugreifen? und wennes ein selbstsigniertes Zertifikat ist wäre ein Fehler nicht ungewöhnlich. Nimm doch mal den Browser statt wget In der Konfigurationsdatei nutze ich nur IP Adressen.

im schlimsten Fall noch mal nach Anleitung von vorne, ich konnte es mehrfach nach meiner eigenen Anleitung erfolgreich einrichten

olebole@t-link.de

371 Tage zuvor
Punkte 0+-

Es funktioniert nun, nachdem ich folgendes der config hinzugefügt habe:

SSLProxyVerify none SSLProxyCheckPeerCN off SSLProxyCheckPeerName off

SSLProxyCheckPeerExpire off

BLinz

371 Tage zuvor
Punkte 0+-
Gute Idee, ich habe es nun oben mit eingebaut - obwohl es bisher bei mir immer ohne diese Zeilen ging. Ich habe das aber schon an anderer Stelle genutzt um extern ein anderes Zertifikat als intern zu nutzen.

RWambacher

342 Tage zuvor
Punkte 0+-

Danke für die tolle Anleitung.

Ich hatte noch ein Problem auf mobilen Endgeräten beim Versenden von Emails mit Attachments größer als ca. 128 KB über ActiveSync.

Es stellt sich raus, dass der SSL Puffer des Apache Proxy mit 128KB Default Wert schuld war. Nachdem ich die Konfiguration auf folgendes geändert hatte funktionierte es problemlos:

ProxyPass https://192.…r-ActiveSync connectiontimeout=600 ProxyPassReverse https://192.…r-ActiveSync

  1. Puffer auf 30 MB setzen

SSLRenegBufferSize 31457280


Dies könnte auch für andere Pfade relevant sein (/rpc, /OAB ?)

BLinz

342 Tage zuvor
Punkte 0+-
Danke für den Hinweis, ich habe es oben eingebaut

BLinz

103 Tage zuvor
Punkte 0+-

Bei Exchange 2010 muss ggf. der Wert in Exchange selbst auch noch angepasst werden:

https://www.…ngen-werden/

RWambacher

342 Tage zuvor
Punkte 0+-
Sorry, das XML Fragment hat wohl im Kommentar nicht wie gewünscht funktioniert

Flo

332 Tage zuvor
Punkte 0+-
Kennst jemand das Phänomen, dass gewisse Funktionen (Regeln, Gelöschte Mails wiederherstellen) bei MAPI OVER HTTP in einem Outlook 2016 Client nicht funktionieren? Er meldet dann "Netzwerkprobleme" oder stürzt ab. Zudem geht der Fehlercounter im Outlook Verbindungsstatus um 1 nach oben - bei allen Verbindungenen..... Irgendwelche Ideen? Konfiguriert ist das ganze wie auf die dieser Seite beschrieben.

Jimmy

327 Tage zuvor
Punkte 0+-

Hallo @ll, super Howto, hat alles funktioniert und nun endlich nach vielen Howto's auch mein Outlook Client. Ich habe nur eine Frage, gibt es die Möglichkeit einer automatischen Weiterleitung von http Anfragen auf https?

Vielen Dank für eure Antworten.

BLinz

327 Tage zuvor
Punkte 0+-
Wenn du es nach dieser Ableitung gemacht hast ist das schon drin. Musst mail.linz.email an deine Domäne anpassen

Jimmy

326 Tage zuvor
Punkte 0+-

Hi, Danke für die schnelle Antwort. Leider klappt das so nicht bei http outlook.kress.me kommt eine 403 bei https nicht sieht aber so aus als ob die 403

von dem IIS kommt. hmm komisch.

Jimmy

326 Tage zuvor
Punkte 0+-

Hi, Danke nochmal für deine Hilfe und die geniale Howto :-). Alles funzt nun super, hätte nochmal die Firewall prüfen sollen die hat den Port 80 direkt durchgeschleift.

Kaum macht man es richtig, geht es auch ;-)

tks@ttb-it.de

315 Tage zuvor
Punkte 0+-

Hi,

danke für die Anleitung.... Ich hatte bis jetzt immer das Problem mit dem RPCoverHTTPs. Jetzt klappts. *freu*

ich habe bei mir zur Absicherung noch das Apache2 GeoIP Modul aktiviert und lass nur Verbindungen von Deutschland zu. Kommt selten vor, dass ich ausserhalb bin, und so werden alle Robots und Passwortversuche von "unsicheren Herkunftsländern" (*g*) direkt auf meine Webseite mit "HTTP 301 redirect" umgeleitet. Wenn du willst, schreib mir ne Mail, dann schicke ich dir die Konfigurationsschritte, ist n bisschen viel für das Kommentar.

Danke nochmal.

Gruß

Til

Markus

304 Tage zuvor
Punkte 0+-

Hallo! Sehr prima deine Tut´s - hat mir schon oft geholfen - - DANKE!

Was ich nicht ganz verstehe - in deiner Grafik ganz oben hast du den Exchange mit 192.168.1.40 aber in der conf leitest du die Exchange dienste auf 192.168.1.80

ist das ein Tippfehler - oder hab ich was nicht ganz gerafft?

Mfg.

Markus

304 Tage zuvor
Punkte 0+-
Sorry jetzt mein Fehler - natürlich 192.168.200.40 und 192.168.200.80

Miekesch

87 Tage zuvor
Punkte 0+-
Ja, glaube das ist ein Tippfehler, denn ich habe es geändert auf die Addresse meines EX2010!

Mario

207 Tage zuvor
Punkte 0+-

Hallo

super Anleitung. Bin nicht der Linux Experte, benötige allerdings genau dieses Setup. Gibt es eine vor konfigurierte VM irgendwo, damit man nicht von vorne beginnen muss?

Viele Grüße

Mario

Michael

133 Tage zuvor
Punkte 0+-
Hallo zusammen läuft das ganze auch mit Exchange 2016 hat das schon jmd am laufen?

Torsten

73 Tage zuvor
Punkte 0+-
Hi, läuft auch mit Exchange 2016 CU4 einwandfrei ...

Miekesch

87 Tage zuvor
Punkte 0+-

Coole Anleitung@BLinz!

Ich habe da dennoch eine Frage!

Ich habe deine Anleitung etwas modifiziert, damit es mit meiner Dyndns Lösung Funzt! Der Exchange Funktionierte sofort, überraschend ;) aber meine Cloud auf dem anderen Server wird nicht angezeigt. Port 80 Funktioniert, aber 443 nicht, dort erhalte ich einen Internal Server Error.

Auf der Cloud ist ein SelfSign Zertifikat installiert, welches ich auch auf dem ReverseProxy hinterlegt habe (wie in deinem Beispiel vom ZABBIX Server) oder habe ich das missinterpretiert?

Ich komme bei den Https Anfragen bis zum ReverseProxy, der mir im Browser auch das Zertifikat der Cloud zurück gibt, welches auf dem ReverseProxy hinterlegt ist, aber er läd nicht das vom eigentlichen Server (Cloud).

Wo ist mein Denkfehler?

Ich danke dir für eine Antwort.

P.S: Frohes neues Jahr 2017

Miekesch

87 Tage zuvor
Punkte 0+-

Ich habe den Fehler gefunden. Trotzdem danke für die Großartige Anleitung!

Fehler: ich hatte im ProxyPass https eingeschrieben! Zusätzlich habe ich auf dem Webserver ein neues Zertifikat generiert!

Danke Funzt!

Torsten

73 Tage zuvor
Punkte 0+-
Superklasse Anleitung, genau was ich noch brauchte ...

BLinz

73 Tage zuvor
Punkte 0+-

Bis auf folgendes Problem - was ich aber nur temporär lösen konnte - läuft das: Über ActiveSync lassen sich keine (größeren) Dateianhänge versenden. Und für Exchange 2016 und Outlook ab 2010 fehlt eigentlich noch das neue "mapi" Verzeichnis. Aber Outlook Anywhere geht.

"Leider" hat mein Exchange inzwischen eine eigene, feste IP-Adresse (kosten bei SoYouStart nur einmalig 2,40 Euro) ... so das ich das gar nicht mehr selbst einsetze.

Martin

48 Tage zuvor
Punkte 0+-

Starkes Turorial, vielen Dank dafür!

Wir sind jetzt auf Exchange 2013 umgestiegen und hatten über den externen Zugriff Verbindungsprobleme in Outlook (ständig getrennt). Um diese zu lösen habe ich die Authentifizierungseinstellungen im IIS für MAPI angepasst (wie bei ews und oab) und Proxypass Regeln für /mapi im virtual host des Proxy eingetragen (wie bspw. bei /owa). Jetzt scheint es zu funktionieren. Allerdings gab es im IIS den Hinweis, dass für die Mapi Standard-Authentifizierung kein SSL benötigt wird und Daten daher unverschlüsselt gesendet werden. Bedenklich?
Kommentar hinzufügen:
Gebe hier einen Kommentar ein. Du kannst einen beliebigen Namen oder eine Email-Adresse als Namen angeben.

Wenn du dich einloggst wird automatisch dein Benutzername genommen.
Du kannst KEINE Links hier posten - das wurde wegen anhaltender Werbung deaktiviert. Sobald ein '''http://''' im Text vorkommt wird der Kommentar verworfen Alle anderen Steuerzeichen oder Funktionen wie < br > werden ausgefiltert - zum Posten von Quelltexten ist diese Funktion hier nicht geeignet.

Falls du dringendere Fragen hast kannst du auch das Support-System von znil.net nutzen unter support.znil.net