[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