Sturbi's Home

  • Gallery
  • Modellflug
  • Datenschutz
  • Impressum

Blog

  • Allgemein (15)
    • Sprüche (6)
  • Angeln (3)
  • Computer (25)
    • Linux (16)
      • Nagios (5)
      • Nginx (4)
      • Postfix (3)
      • Subversion (1)
    • VMware (3)
    • Windows (9)
      • Powershell (8)
  • Fotografie (26)
  • Reise (8)
    • Hawaii (4)
    • Irland (1)
    • USA (5)
Wenn du etwas so machst,
wie du es seit zehn Jahren gemacht hast,
dann sind die Chancen groß,
daß du es falsch machst.

Charles F. Kettering amerikanischer Ingenieur * 29.08.1876, † 25.11.1958

Apache als Exchange OWA Reverse Proxy

9. November 2012 by Sturbi Kategorie: Linux

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

© 2026 · Sturbi's Home