[Eisfair] NGINX

Stefan Heidrich stefan-in-news at web.de
Do Jul 23 14:06:06 CEST 2015


Hallo Ansgar, hallo NG,

>> ich habe eine neue Version bereitgestellt.
>
> super, und läuft seit vorgestern. Leider funktioniert RPCoverHTTP
> immer noch nicht so wie es soll, aber es wäre laut NGINX-Webseite
> jetzt auch noch möglich, dass es an Exchange-Einstellungen liegt. Ich
> probiere weiter und melde mich dazu wieder.

so, jetzt kann ich auch Erfolg berichten; auch RPCoverHTTP läuft jetzt 
völlig zufriedenstellend. NGINX arbeitet jetzt bei uns erfolgreich als 
Revers Proxy vor einem Exchange 2010 und unterstützt dabei
- Outlook Web Access (OWA)
- Active Sync
- Outlook Anywhere
- AutoDiscover

Die Exchange-Einstellungen habe ich aus dem Guide von NGINX, das die Revers 
Proxy Einstellungen und Load Balancing beschreibt 
(https://www.nginx.com/wp-content/uploads/2015/05/microsoft-exchange-deployment-guide-20150520.pdf), 
wofür aber NGINX Plus eingesetzt werden müsste. Da ich mit nur einem 
Exchnage kein Load Balancing brauche kann ich problemlos die "freie" Version 
unter BSD-Lizenz verwenden.
Leider funktioniert damit nur die Basic Authetifizierung, wodurch jedesmal 
beim Start von Outlook eine zusätzliche Anmeldung erforderlich ist - damit 
kann ich aber gut leben.

Auf der Seite von NGINX sind meine Konfiguration so aus:

#-------------------------------------------------------------------------------
# nginx_config file generated by /var/install/config.d/nginx.sh
#
# --> Do not edit this file, edit /etc/config.d/nginx
# Das stimmt nicht ganz.... :-)
# Creation date: Wed Apr  8 14:13:09 CEST 2015
#-------------------------------------------------------------------------------

worker_processes  auto;

events {
        worker_connections   1024;
}

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

        #Abschnitt 1 fuer http
        server {
               listen       80;
               server_name PUBLIC_IP_DES_NGINX;

               # 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 https
        server {
               error_log logs/sslerror.log info;
               access_log logs/sslaccess.log;
               listen       443;
               client_max_body_size 2G;
               # Enable SSL
               ssl                     on;
               ssl_certificate 
/usr/local/nginx/cert/ZERTIFIKAT_DES_EXCHANGE.pem;
               ssl_certificate_key 
/usr/local/nginx/cert/KEYFILE_DES_EXCHANGE.key;
               ssl_session_timeout     5m;
               proxy_read_timeout      360;
               server_name 195.145.15.15;
               proxy_pass_header       Date;
               proxy_pass_header       Server;

               # Redirect from "/" to "/owa" by default
               location / {
                  return 301 "/owa/";
               }

               location /owa {
                  proxy_pass https://INTERNER_FQDM_DES_EXCHANGE/owa;
                  proxy_http_version 1.1;
                  proxy_request_buffering off;
                  proxy_buffering off;
                  proxy_set_header Connection "Keep-Alive";
               }

               location /ews {
                  proxy_pass https://INTERNER_FQDM_DES_EXCHANGE/ews;
               }

               location /Microsoft-Server-ActiveSync {
                  proxy_pass 
https://INTERNER_FQDM_DES_EXCHANGE/Microsoft-Server-ActiveSync;
               }

               location /rpc {
                  proxy_pass https://INTERNER_FQDM_DES_EXCHANGE/rpc;
                  proxy_http_version 1.1;
                  proxy_request_buffering off;
                  proxy_buffering off;
                  proxy_set_header Connection "Keep-Alive";
               }

               location /rpc/rpcproxy.dll {
                  proxy_pass 
https://INTERNER_FQDM_DES_EXCHANGE/rpc/rpcproxy.dll;
                  proxy_buffering off;
                  proxy_http_version 1.1;
                  proxy_request_buffering off;
                  proxy_set_header Connection "Keep-Alive";
               }
        }


Die Funktion ist also für meine Bedürfnisse komplett gegeben.

Jetzt zu meinen Änderungswünschen:

Ist in der in Eis eingebauten Konfiguration der Wert NGINX_MAN_CONFIG='yes' 
gesetzt, dann können, meiner Meinung nach, alle Konfigurationsparameter 
außer
NGINX_ERROR_LOG
NGINX_ACCESS_LOG
NGINX_ROTATE_LOGS
NGINX_LOGROTATE_COUNT
NGINX_LOGROTATE_INTERVAL
entfallen.
Bei der Vielfalt an Möglichkeiten des NGINX ist das wahrscheinlich auch die 
beste Möglichkeit.

Alles andere halte ich für gut gelungen und würde da eher nichts mehr dran 
tun wollen.

Ansgar, vielen Dank für Deine Unterstützung!
Rückfragen jederzeit!

Viele Grüße aus Bad Mergentheim
Stefan 




Mehr Informationen über die Mailingliste Eisfair