Jump to content
Sign in to follow this  
Netscape

owa reverse proxy

Recommended Posts

Hi,

 

ich habe einen Exchange 2007 und davor einen nginx mit client certificates als reverse proxy. Nun habe ich das Problem, dass ich bis zur Passworteingabe von owa komme, aber wenn ich benutzername und passwort eintippe kommt immer wieder das Fenster zur Passworteingabe in einer Schleife. Ich komme nicht auf die owa seite.

 

Hier mal die Config des nginx:

server {
    listen 80;
    server_name owa.domain.de;
    access_log /var/log/nginx/owa.domain.de.access.log;
    error_log  /var/log/nginx/owa.domain.de.error.log;
    rewrite        ^/$ https://owa.domain.de;
}

server {
    listen 443 ssl;
    server_name owa.domain.de;
    access_log /var/log/nginx/owa_ssl_domain_de_access.log;
    error_log  /var/log/nginx/owa_ssl_domain_de_error.log;

    charset ISO-8859-1;
    keepalive_timeout 1800;

    # SSL Settings
    ssl_certificate     /_ssl/owa.domain.de/owa.domain.de.crt;
    ssl_certificate_key /_ssl/owa.domain.de/owa.domain.de.key;
    ssl_trusted_certificate /_ssl/domain_ca.crt;
    ssl_client_certificate /_ssl/owa.domain.de/ca.crt;
    ssl_verify_client on;
    ssl_verify_depth 2;
    ssl_protocols  SSLv2 SSLv3 TLSv1;
    ssl_ciphers  ALL:!ADH:!EXPORT56:RC4+RSA:+HIGH:+MEDIUM:+LOW:+SSLv2:+EXP;
    ssl_prefer_server_ciphers   on;

    rewrite ^/$ https://owa.domain.de/owa/ permanent;

    client_max_body_size 65M;
#    large_client_header_buffers 4 32k;

    # Proxy Settings
#    proxy_ssl_session_reuse off;
#    proxy_read_timeout 360;
    proxy_pass_header Date;
    proxy_pass_header Server;
    proxy_set_header Host $host;
    proxy_set_header X-Real-IP $remote_addr;
    proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
#    proxy_set_header Accept-Encoding "";
#    proxy_redirect default;

    location /owa {
        proxy_pass https://exch.local/owa;
        proxy_pass_request_headers on;
        }

}

Hat jemand eine Idee woran das liegen könnte?

Der direkte Zugriff auf die OWA Seite im internen LAN funktioniert ohne Probleme.

ActiveSync für den mobilen Zugriff läuft ebenfalls über diesen ReverseProxy und funktioniert auch ohne Probleme.

Edited by Netscape

Share this post


Link to post

Ich habe noch folgende Einstellung:

 

ssl on; (wobei dies bei deinem Listen eintrag steht)
proxy_redirect off;

add_header Strict-Transport-Security max-age=15768000; # six months
 

Und an Location owa das proxy_pass_request_headers on; habe ich nicht.

 

Btw. SSL2 und SSL3 solltest du deaktivieren und ggf. TLS 1.1 und 1.2 aktivieren.

 

 

Steht irgend in den Error Logs?

Share this post


Link to post

Wo kann ich den hochdrehen? Funktioniert das über die MMC-->Leistungsprotokolle und Warnungen-->Protokolle der Ablaufverfolgung?

Sonst hab ich nichts gefunden.

Share this post


Link to post

In der Nginx Config. Frag mich aber nicht wie die Option heisst.

Wenn aber im Access Log auch nichts steht, kann es sein, dass die Anfragen gar nicht beim Nginx ankommen.

Share this post


Link to post

Beim nginx kommen die Anfragen an. Nur im Error Log vom nginx steht nichts drin. Der Fehler liegt wohl irgendwo beim Exchange oder die Verbindung zwischen nginx und Exchange, wobei das ActiveSync ja ohne Probleme funktioniert.

Share this post


Link to post

muss es nginx sein?

Für haproxy gibts massenhaft Beispiele im Netz.

Ich hatte mir damals eine Testversion einer virtuellen LB-appliance für Exchange installiert, gemerkt das die auch nur haproxy nehmen und die Konfig dann übenrommen und angepasst. Allerdings Exchange2010, keine Ahnung ob das hier einen großen Unterschied macht.

Bei uns läuft seit dem ein haproxy-Pärchen als Exchnage-LB.

Da wird das gleiche Konstrukt für die Webserver haben werde ich das demnächst noch zu einem LB-Pärchen zusammenfassen. Das wäre dann auch der Mehrwert gegenüber der kommerziellen Appliance welche nur Exchange konnte.

 

Ich könnte bei Bedarf auch gerne morgen mal die Konfig rauskramen: haproxy auf Debian mit SSL-Terminierung für die Webserver.

Share this post


Link to post

Komische kommerzielle appliance die nur Exchange kann. Welches Produkt ist das?

Das Teil wurde explizit als Exchangeloadbalancer verkauft. Ich glaube mich zu erinnern das man andere Sachen dazu kaufen konnte. Ich kann mich leider gar nicht erinnern was das für ein Produkt war da ich ehrlich gesagt zufrieden war als ich die haproxy-config hatte und das ganze unter einem standard Debian lief.

Nginx funktioniert als Reverse Proxy für OWA. Habe ich selbst laufen.

Das zweifel ich auch gar nicht an. Wir haben halt haproxy am laufen für den ich für Exchnage2010 eine Konfig liefern könnte. Für nginx hab ich halt keine die ich anbieten könnte.

Von daher: poste doch einfach deine config und eventuell findet der OP dann seinen Fehler.

Share this post


Link to post

Das Teil wurde explizit als Exchangeloadbalancer verkauft. Ich glaube mich zu erinnern das man andere Sachen dazu kaufen konnte. Ich kann mich leider gar nicht erinnern was das für ein Produkt war da ich ehrlich gesagt zufrieden war als ich die haproxy-config hatte und das ganze unter einem standard Debian lief.

Schade, hätte mich mal interessiert. Aber so wichtig ist es auch nicht. Hab meine Lösung auch gefunden. ;)

 

Bye

Norbert

Share this post


Link to post
Das zweifel ich auch gar nicht an. Wir haben halt haproxy am laufen für den ich für Exchnage2010 eine Konfig liefern könnte. Für nginx hab ich halt keine die ich anbieten könnte.

Von daher: poste doch einfach deine config und eventuell findet der OP dann seinen Fehler.

 

Ich hatte ja schon die Unterschiede aufgezeigt. Aber hier mal meine Konfig.

upstream exchange { # Wobei das nur ein Alias ist und nicht nötig.
        server srv-exch1:443;
}

server {
        listen 443;
        server_name _;

        location / {
                root   /usr/share/nginx/html;
                index  index.html index.htm;
        }

        #SSL
        ssl on;
        ssl_certificate /etc/ssl/certs/srv-proxy-web1.pem;
        ssl_certificate_key /etc/ssl/certs/server.key;
        ssl_session_timeout 5m;

        ssl_prefer_server_ciphers on;
        ssl_protocols TLSv1 TLSv1.1 TLSv1.2; # not possible to do exclusive
        #ssl_protocols TLSv1.1 TLSv1.2; # not possible to do exclusive
        ssl_ciphers 'EDH+CAMELLIA:EDH+aRSA:EECDH+aRSA+AESGCM:EECDH+aRSA+SHA384:EECDH+aRSA+SHA256:EECDH:+CAMELLIA256:+AES256:+CAMELLIA128:+AES128:+SSLv3:!aNULL:!eNULL:!LOW:!3DES:!MD5:!EXP:!PSK:!DSS:!RC4:!SEED:!ECDSA:CAMELLIA256-SHA:AES256-SHA:CAMELLIA128-SHA:AES128-SHA';
        add_header Strict-Transport-Security max-age=15768000; # six months

        #Proxy
        proxy_redirect off;
        proxy_read_timeout 360;
        proxy_connect_timeout 360;
        proxy_pass_header Date;
        proxy_pass_header Server;
        proxy_set_header Host $host;
        proxy_set_header X-Real-IP $remote_addr;
        proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
        proxy_set_header Accept-Encoding "";

        #Exchange

        location /owa {
                proxy_pass https://exchange/owa;
        }

# Weitere Urls (ecp, Active Sync,...) mit selben Schema.

}

Share this post


Link to post

Also ich vermute das Problem eher irgendwo beim Exchange.

 

Der nginx leitet die Anfrage ja an owa weiter und liefert mir die Passwortabfrage. Die Passwortabfrage läuft dann aber in einer Schleife, obwohl die richtigen Daten eingegeben werden. Wenn ich dann auf abbrechen klicke, bekomme ich vom IIS eine 401.1 (Invalid Credentials) Meldung. Wobei im LAN mit direktem Zugriff auf den Exchange ohne den ReverseProxy funktioniert OWA.

 

Hier nochmal die aktuelle nginx config:

server {
    listen 80;
    server_name owa.domain.de;
    access_log /var/log/nginx/owa.domain.de.access.log;
    error_log  /var/log/nginx/owa.domain.de.error.log;
    rewrite        ^/$ https://owa.domain.de;
}
server {
    listen 443 ssl;
    server_name owa.domain.de;
    access_log /var/log/nginx/owa_ssl_owa_de_access.log;
    error_log  /var/log/nginx/owa_ssl_owa_de_error.log debug;

    charset ISO-8859-1;
    keepalive_timeout 1800;

    # SSL Settings
    ssl_certificate     /_ssl/owa.domain.de/owa.domain.de.crt;
    ssl_certificate_key /_ssl/owa.domain.de/owa.domain.de.key;
    ssl_trusted_certificate /_ssl/trusted_ca.crt;
    ssl_client_certificate /_ssl/owa.domain.de/ca.crt;
    ssl_verify_client on;
    ssl_verify_depth 2;
    ssl_protocols  TLSv1 TLSv1.1 TLSv1.2;
    ssl_ciphers 'EDH+CAMELLIA:EDH+aRSA:EECDH+aRSA+AESGCM:EECDH+aRSA+SHA384:EECDH+aRSA+SHA256:EECDH:+CAMELLIA256:+AES256:+CAMELLIA128:+AES128:+SSLv3:!aNULL:!$
    ssl_prefer_server_ciphers   on;

    rewrite ^/$ https://owa.domain.de/owa/ permanent;

    client_max_body_size 65M;

    # Proxy Settings
    proxy_read_timeout 360;
    proxy_pass_header Date;
    proxy_pass_header Server;
    proxy_set_header Host $host;
    proxy_set_header X-Real-IP $remote_addr;
    proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
    proxy_set_header Accept-Encoding "";
    proxy_redirect off;
    add_header Strict-Transport-Security max-age=15768000; # six months

    location /owa {
        proxy_pass https://exch.local/owa;
#       proxy_pass_request_headers on;
        }


}

Share this post


Link to post

Also das Problem liegt mehr oder weniger am Exchange. Dort ist für OWA die "integrierte Authentifizierung" und die "Standardauthentifizierung" aktiviert. Im Firefox kamen dann zwei Abfragefenster. Das ersten ohne "realm" und das Zweit mit. Das erste Fenster mit abbrechen weggecklickt, dann kam das zweite Fenster und dort haben die Login Daten dann funktioniert.

 

Im Chrome kam nur das erste Fenster und beim klicken auf abbrechen kam das zweite fenster nicht. Somit hat der login nicht funktioniert.

 

Nun habe ich im IIS auf der OWA Seite die "integrierte Authentifizierung" abgeschaltet und es funktioniert.

 

Wäre natürlich schön, wenn die auch funktioneren würde (im LAN).

Share this post


Link to post
Der letzte Beitrag zu diesem Thema ist mehr als 180 Tage alt. Bitte überlege Dir, ob es nicht sinnvoller ist ein neues Thema zu erstellen.

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.

Guest
Reply to this topic...

×   Pasted as rich text.   Restore formatting

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

Sign in to follow this  

×
×
  • Create New...