Da Microsoft den TMG aka ISA zu 2015 einstellen will und eine Loadbalancer als Reverse Proxy etwas übertrieben ist, baue ich dafür immer wieder mal einen Apache mit mod_proxy. Und weil ich mir das nicht immer zusammensuchen will, hier wieder ein Artikel nur für mich selbst *g*
Zum Einsatz kommt ein Linux nach Wahl mit Apache und einigen Module. (mod_ssl, mod_proxy, mod_proxy_connect, mod_proxy_html, mod_headers, mod_deflate)
Dann noch etwas Konfiguration und fertig ist der einfache Proxy.
Der Exchange wird hier unter der IP: 192.168.111.2 betrieben.
Es werden nur die Verzeichnisse /owa, /ecp und /Microsoft-Server-ActiveSync weitergereicht.
Zum Weiterreichen von /ews (Exchange web Services) sind noch einige Anpassungen notwendig, da der Apache ab Version 2.0.55 mit dem Chunked Header ein Problem hat.
### Host auf 80 mit Redirects ### <VirtualHost *:80> ServerName server.domain.tld ServerAlias www.domain.tld ServerAlias mail.domain.tld ServerAdmin webmaster@domain.tld 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 ProxyRequests Off RewriteEngine On RewriteCond %{HTTPS} !=on RewriteRule ^/owa(.*) https://www.domain.tld/owa$1 [R,L] RewriteRule ^/ecp(.*) https://www.domain.tld/ecp$1 [R,L] RewriteRule ^/Microsoft-Server-ActiveSync(.*) https://www.domain.tld/Microsoft-Server-ActiveSync$1 [R,L] DocumentRoot /var/www <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 *> Order deny,allow Allow from all </Proxy> </VirtualHost> ### SSL Host ### <IfModule mod_ssl.c> <VirtualHost *:443> ServerName www.domain.tld ServerAdmin webmaster@domain.tld 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 ProxyRequests Off ProxyPreserveHost On SSLProxyEngine On # owa ProxyPass /owa https://192.168.111.2/owa ProxyPassReverse /owa https://192.168.111.2/owa # ecp ProxyPass /ecp https://192.168.111.2/ecp ProxyPassReverse /ecp https://192.168.111.2/ecp # Microsoft-Server-ActiveSync ProxyPass /Microsoft-Server-ActiveSync https://192.168.111.2/Microsoft-Server-ActiveSync ProxyPassReverse /Microsoft-Server-ActiveSync https://192.168.111.2/Microsoft-Server-ActiveSync DocumentRoot /var/www <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 /etc/ssl/certs/www.domain.tld.pem SSLCertificateKeyFile /etc/ssl/private/www.domain.tld.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> </IfModule>
Weitere Links dazu im Netz
http://www.msxfaq.de/internet/apache.htm
http://geekerrific.blogspot.de/2010/08/exchange-2010-cas-apache-2-reverse.html