[Eisfair] Eisfair Apache als reverse proxy

Stefan Heidrich stefan-in-news at web.de
Fr Apr 10 10:53:37 CEST 2015


Hallo Uwe, hallo Ansgar, hallo NG,

> verwende doch mal (testhalber !) meine config (hab sie grad auf Dein
> Netz angepasst) und das von mir kompilierte (etwas ältere) ninx-Binary
> ... das läuft auf meinem eis1 (Base 2.4.0, Kernel 2.8.0).

Danke für die Bereitstellung. Auf einem frisch aufgesetzten Eis kommt beim 
Start Deiner Binary diese Meldung:

# /etc/init.d/nginx start
 * Starting nginx daemon ...
/usr/local/nginx/sbin/nginx: error while loading shared libraries: 
libgd.so.2: cannot open shared object file: No such file or directory 
[ FAIL ]

Also libgd nachinstalliert. Dann kommt folgendes:

# /etc/init.d/nginx start
 * Starting nginx daemon ...
nginx: [alert] could not open error log file: open() 
"/var/log/nginx/error.log" failed (2: No such file or directory)
2015/04/10 07:29:34 [emerg] 5319#0: open() "/etc/nginx/nginx.conf" failed 
(2: No such file or directory)

Also ein Verzeichnis /etc/nginx angelegt und dort die conf hinkopiert. Dann 
kommt:

# /etc/init.d/nginx start
 * Starting nginx daemon ...
nginx: [alert] could not open error log file: open() 
"/var/log/nginx/error.log" failed (2: No such file or directory)
2015/04/10 07:31:24 [emerg] 5328#0: open() "/etc/nginx/mime.types" failed 
(2: No such file or directory) in /etc/nginx/nginx.conf:6 
[ FAIL ]

Jetzt das Verzeichnis /var/log/nginx angelegt und restlichen Dateien von 
Ansgar aus /usr/local/nginx/conf nach /etc/nginx kopiert. Jetzt kommt:

# /etc/init.d/nginx start
 * Starting nginx daemon ...
nginx: [emerg] mkdir() "/tmp/nginx/http-client" failed (2: No such file or 
directory) 
[ FAIL ]

Also auch noch das Verzeichnis /tmp/nginx/http-client angelegt und jetzt 
startet nginx.

Beim Aufruf von https://192.168.132.40 kommt jetzt folgendes:

Fehler: Gesicherte Verbindung fehlgeschlagen
Ein Fehler ist während einer Verbindung mit 192.168.132.40 aufgetreten. SSL 
hat einen Eintrag erhalten, der die maximal erlaubte Länge überschritten 
hat. (Fehlercode: ssl_error_rx_record_too_long)
Die Website kann nicht angezeigt werden, da die Authentizität der erhaltenen 
Daten nicht verifiziert werden konnte.
Kontaktieren Sie bitte den Inhaber der Website, um ihn über dieses Problem 
zu informieren.


Also Konfuguration angepasst und SSL hinzugefügt / Kommentare entfernt.

Jetzt bekomme ich bei Aufruf von https://192.168.132.40:

502 Bad Gateway


Dann hab ich im Internet das Suchen angefangen und bin auf diese Webseite 
gestoßen:
https://blog.friedlandreas.net/2013/07/reverseproxy-fur-eas-exchange-activesync-und-owa-outlookwebapp-mit-nginx/

Und mit einer Mischung der Konfigurationen hab ich das intern ans Laufen 
bekommen. Auch der Zugriff von außen funktioniert.

Hier noch der Vollständigkeit halber meine funktionierende Konfiguration, 
die aber jetzt mit Ansgars Paket am Laufen ist:


worker_processes  auto;

events {
        worker_connections   1024;
}

http {
        include       mime.types;
        default_type  application/octet-stream;
        sendfile      on;
        tcp_nopush    on;
        keepalive_timeout  65;

        #Abschnitt 1
        server {
               listen       80;
               server_name owa.firmenname.tld;

               # Redirect any HTTP request to HTTPS
               return 301 https://$server_name$request_uri;

               error_log  logs/error.log debug;
               access_log logs/access.log;
        }

        #Abschnitt 2
        server {
              listen       443;
               server_name owa.firmenname.tld;

               # Redirect from "/" to "/owa" by default
               location / {return 301 https://owa.firmenname.tld/owa;}

               # Enable SSL
               ssl                     on;
               ssl_certificate         /usr/local/nginx/cert/OWA.pem;
               ssl_certificate_key     /usr/local/nginx/cert/OWA.key;
               ssl_session_timeout     5m;

               # Set global 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_fo
r;
               proxy_set_header        Accept-Encoding "";

               location /owa  { proxy_pass 
https://ex-mgh-css1.root.lan/owa; }
               location /ews  { proxy_pass 
https://ex-mgh-css1.root.lan/ews; }
               location /Microsoft-Server-ActiveSync { proxy_pass 
https://ex-mgh
-css1.root.lan/Microsoft-Server-ActiveSync; }

               error_log logs/sslerror.log debug;
               access_log logs/sslaccess.log;
        }
}


Ansgar, kannst Du damit etwas anfangen um Dein Paket weiter zu entwickeln? 
Jetzt wo ich weiß was nginx macht und kann bin ich auch gerne als Tester 
bereit. :)



Viele Grüße und ganz herzlichen Dank
Stefan 




Mehr Informationen über die Mailingliste Eisfair