Reverse Proxy mit nginx und SSL - need help!

Krautmaster

Fleet Admiral
Registriert
Feb. 2007
Beiträge
24.310
Servus zusammen.

Folgendes Problem

ich habe vor:

Internet -> Fritz Port -> forward to -> virtueller Router mit subnet (DMZ) -> virtueller Reverse Proxy -> Webserver

...und das ganze bitte über SSL.

Frage:
Terminiere ich das SSL am besten am Reverse Proxy - oder doch besser am Webserver direkt (sofern das geht).

Bis zum Reverse Proxy is alles fluffig. Ich gebe Port 443 an den virtuellen Router und dieser diesen an den Reverse Proxy.

Auf diesem läuft nginx. Testweise funktioniert das soweit wunderbar mit 3 testseiten auf 3 VMs und auch SSL geht, sofern ich es am Reverse Proxy terminiere.

Es gilt:
IP Reverse Proxy : 192.168.1.103
IP Webserver : 192.168.1.200

Tut soweit mit SSL am Reverse Proxy.

Code:
upstream EXTERNALDOMAIN {
	server 192.168.1.200;
}

server {
	listen 80;
	listen 443 default_server ssl;
	
	server_name EXTERNALDOMAIN www.EXTERNALDOMAIN;

	include snippets/ssl-EXTERNALDOMAIN.conf;
	include snippets/ssl-params.conf;
 
	root /var/www/html;
    
	access_log            /var/log/nginx/jenkins.access.log;

	location / {

			#     	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        X-Forwarded-Proto $scheme;
			# 		Fix the “It appears that your reverse proxy set up is broken" error.
   
	proxy_pass          EXTERNALDOMAIN;
	proxy_redirect off;
	proxy_read_timeout  90;

	}

	location ~ /.well-known {
		allow all;
	}
	#return 301 https://$server_name$request_uri;
}

Der Webserver hat konkret NextCloud drauf. Das spuckt mir in der aktuellen Konfiguration folgendes aus:

2017-05-29 20_52_48-Administrator - Teachers Cloud.png

So wie ich das sehe macht das nginx jetzt das SSL, nicht der Websever auf dem NextCloud läuft. Wie müsste denn hierfür die Konfig aussehen?

Vielen Dank für eure Hilfe.
 
Zuletzt bearbeitet:
Füge das innerhalb des server blocks ein und starte den nginx mit configtest neu.

add_header X-Frame-Options "SAMEORIGIN";
add_header X-Content-Type-Options nosniff;
add_header X-XSS-Protection '1; mode=block';

Das Nginx Modul ngx_http_headers_module sollte hierbei bereits aktiviert sein.
 
hey merci. Ich hatte noch vergessen den Inhalt von

snippets/ssl-params.conf;

zu posten:

Code:
ssl_protocols TLSv1 TLSv1.1 TLSv1.2;
ssl_prefer_server_ciphers on;
ssl_ciphers "EECDH+AESGCM:EDH+AESGCM:AES256+EECDH:AES256+EDH";
ssl_ecdh_curve secp384r1;
ssl_session_cache shared:SSL:10m;
ssl_session_tickets off;
ssl_stapling on;
ssl_stapling_verify on;
resolver 8.8.8.8 8.8.4.4 valid=300s;
resolver_timeout 5s;
# Disable preloading HSTS for now.  You can use the commented out header line that includes
# the "preload" directive if you understand the implications.
#add_header Strict-Transport-Security "max-age=63072000; includeSubdomains; preload";
add_header Strict-Transport-Security "max-age=63072000; includeSubdomains";
add_header X-Frame-Options DENY;
add_header X-Content-Type-Options nosniff;

Ich füge da mal

add_header X-XSS-Protection '1; mode=block';
und
add_header X-Frame-Options "SAMEORIGIN";

ein.

generelle Frage. Muss ich nun dem nginx und der Nextcloud ein valides SSl verpassen? Oder ggf nur der NextCloud?

Bisher hat diese selbst nämlich noch keines.
Ergänzung ()

laufen tut es damit nach wie vor:

Anhang anzeigen 625812

Auf die NextCloud hinter dem Proxy komm ich mit https und externer URL auch ohne Probleme drauf. Die meldungen die NextCloud da liefert sind wohl eher bezüglich der Kommunikation zwischen Proxy und NextCloud? Weniger dem was der Proxy nach außen gibt? Ich mein... is mein erster webserver und SSL versuch, deswegen is meine Knowledgebase etwas low.
Ergänzung ()

Hier noch die Abfrage vom Reverse Proxy an den Webserver über https

2017-05-29 21_54_51-homeserver - Remotedesktopverbindung.png

Edit. Rufe ich den Webserver von einem Testclient in der DMZ auf, also einfach über https://192.168.1.200, dann ist die integrierte https Prüfung soweit ohne Beanstandung.

nunja, soweit tuts ja erstmal. Ich frag mich nur obs der richtige Weg ist SSL am reverse proxy zu terminieren, aber vielleicht muss das auch so weil er sonst garnicht routen könnte.
 
Zuletzt bearbeitet:
Krautmaster schrieb:
hey merci. Ich hatte noch vergessen den Inhalt von


nunja, soweit tuts ja erstmal. Ich frag mich nur obs der richtige Weg ist SSL am reverse proxy zu terminieren, aber vielleicht muss das auch so weil er sonst garnicht routen könnte.


Klar, das Setup ist üblich. Bei meinem Arbeitgeber setzen wir auch teilweise nginx als reverse Proxy für interne Dienste rein. Da fahren zwar nicht so ne detailreiche SSL Config (auf Performance getrimmt), aber das macht ja nix.
Tut jetzt alles?
 
hey danke nochmal.

Naja, ich experimentiere gerade weiter, Office mit

https://nextcloud.com/collaboraonline/

Dazu hab ich mir jetzt mal ne office.XX subdomain angelegt und die passt auch.

Nun muss ich das quasi mit in den Reverese proxy rein. Da bin ich grad dran. Aber wenn ich dich grad richtig verstanden habe ist

https -> reverse proxy "cloud.XX.de" -> port 80 an server A
https -> reverse proxy "office.XX.de" -> port 9980 an server A

weiter zb

http -> reverse proxy "XX.de" -> port 80 an server B

usw..

der richtige weg? + 2 SSL Zertifikate am Reverse Proxy für die HTTPS Seiten.

Für nen Neuling wie mich mit das erste mal nginx schon nicht so ganz trivial ^^
Ergänzung ()

so nächstes Problem. Ich habe den Reverse Proxy soweit ich sehen kann etwas besser begriffen und die aktuelle konfig sieht so aus:

https -> reverse proxy "cloud.XX.de" -> port 80 an server A
server {
# The IP that you forwarded in your router (nginx proxy)
listen 192.168.1.103:443 ssl; #reverse proxys IP


# SSL config
ssl on;
ssl_certificate /etc/letsencrypt/live/cloud.XX.de/fullchain.pem;
ssl_certificate_key /etc/letsencrypt/live/cloud.XX.de/privkey.pem;


#special ssl params
ssl_protocols TLSv1 TLSv1.1 TLSv1.2;
ssl_prefer_server_ciphers on;
ssl_ciphers "EECDH+AESGCM:EDH+AESGCM:AES256+EECDH:AES256+EDH";
ssl_ecdh_curve secp384r1;
ssl_session_cache shared:SSL:10m;
ssl_session_tickets off;
ssl_stapling on;
ssl_stapling_verify on;
resolver 8.8.8.8 8.8.4.4 valid=300s;
resolver_timeout 5s;

add_header X-Frame-Options DENY;
add_header X-Content-Type-Options nosniff;
add_header X-XSS-Protection '1; mode=block';
add_header X-Frame-Options "SAMEORIGIN";

# Make site accessible from http://localhost/
server_name cloud.XX.de # => External domain name
# The internal IP of the VM that hosts your Apache config
set $upstream 192.168.1.200; # webserver IP behind that proxy

location / {

add_header Strict-Transport-Security "max-age=15768000; includeSubDomains; preload;"; #needed for nextcloud safety

proxy_pass_header Authorization;
proxy_pass http://$upstream; # => port 80
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_http_version 1.1;
proxy_set_header Connection "";
proxy_buffering off;
client_max_body_size 0;
proxy_read_timeout 36000s;
proxy_redirect off;
proxy_ssl_session_reuse off;
}
}

analog identisch für
https -> reverse proxy "office.XX.de" -> port 443 an nextcloud webserver

Nun scheitere ich aber an der Collabora Office Einrichtung.

Beim Nextcloud webserver wird immer ein reverse Proxy mit Apache von 443 -> Docker verwendet, siehe hier:

https://nextcloud.com/collaboraonline/

Wie stelle ich das nun sauber ein, ohne SSL, weil ich mach SSL ja am Reverse Proxy. Müsste ggf ja auch direkt da an den Port 9980 des Webservers forwarden können.

<VirtualHost *:443>
ServerName office.nextcloud.com:443

# SSL configuration, you may want to take the easy route instead and use Lets Encrypt!
SSLEngine on
SSLCertificateFile /path/to/signed_certificate
SSLCertificateChainFile /path/to/intermediate_certificate
SSLCertificateKeyFile /path/to/private/key
SSLProtocol all -SSLv2 -SSLv3
SSLCipherSuite ECDHE-ECDSA-CHACHA20-POLY1305:ECDHE-RSA-CHACHA20-POLY1305:ECDHE-ECDSA-AES128-GCM-SHA256:ECDHE-RSA-AES128-GCM-SHA256:ECDHE-ECDSA-AES256-GCM-SHA384:ECDHE-RSA-AES256-GCM-SHA384:DHE-RSA-AES128-GCM-SHA256:DHE-RSA-AES256-GCM-SHA384:ECDHE-ECDSA-AES128-SHA256:ECDHE-RSA-AES128-SHA256:ECDHE-ECDSA-AES128-SHA:ECDHE-RSA-AES256-SHA384:ECDHE-RSA-AES128-SHA:ECDHE-ECDSA-AES256-SHA384:ECDHE-ECDSA-AES256-SHA:ECDHE-RSA-AES256-SHA:DHE-RSA-AES128-SHA256:DHE-RSA-AES128-SHA:DHE-RSA-AES256-SHA256:DHE-RSA-AES256-SHA:ECDHE-ECDSA-DES-CBC3-SHA:ECDHE-RSA-DES-CBC3-SHA:EDH-RSA-DES-CBC3-SHA:AES128-GCM-SHA256:AES256-GCM-SHA384:AES128-SHA256:AES256-SHA256:AES128-SHA:AES256-SHA:DES-CBC3-SHA:!DSS
SSLHonorCipherOrder on

# Encoded slashes need to be allowed
AllowEncodedSlashes NoDecode

# Container uses a unique non-signed certificate
SSLProxyEngine On
SSLProxyVerify None
SSLProxyCheckPeerCN Off
SSLProxyCheckPeerName Off

# keep the host
ProxyPreserveHost On

# static html, js, images, etc. served from loolwsd
# loleaflet is the client part of LibreOffice Online
ProxyPass /loleaflet https://127.0.0.1:9980/loleaflet retry=0
ProxyPassReverse /loleaflet https://127.0.0.1:9980/loleaflet

# WOPI discovery URL
ProxyPass /hosting/discovery https://127.0.0.1:9980/hosting/discovery retry=0
ProxyPassReverse /hosting/discovery https://127.0.0.1:9980/hosting/discovery

# Main websocket
ProxyPassMatch "/lool/(.*)/ws$" wss://127.0.0.1:9980/lool/$1/ws nocanon

# Admin Console websocket
ProxyPass /lool/adminws wss://127.0.0.1:9980/lool/adminws

# Download as, Fullscreen presentation and Image upload operations
ProxyPass /lool https://127.0.0.1:9980/lool
ProxyPassReverse /lool https://127.0.0.1:9980/lool
</VirtualHost>
Ergänzung ()

okay habs glaub hinbekommen ;)

Brauchte garkeine 2. subdomain also office.XX.de

docker run -t -d -p 9980:9980 -e domain=cloud.XX.de --restart always --cap-add MKNOD collabora/code

+

sudo ufw allow 9980/tcp

+ in die cloud.XX nginx config von oben folgendes rein:

location ^~ /loleaflet {
proxy_pass https://192.168.1.200:9980;
proxy_set_header Host $http_host;
}

# WOPI discovery URL
location ^~ /hosting/discovery {
proxy_pass https://192.168.1.200:9980;
proxy_set_header Host $http_host;
}

# websockets, download, presentation and image upload
location ^~ /lool {
proxy_pass https://192.168.1.200:9980;
proxy_set_header Upgrade $http_upgrade;
proxy_set_header Connection "upgrade";
proxy_set_header Host $http_host;
}

Anleitungen:
https://www.techandme.se/set-up-nginx-reverse-proxy/
https://www.linuxbabe.com/cloud-storage/integrate-collabora-online-server-nextcloud-ubuntu-16-04
Ergänzung ()

Grml

Irgendwas passt noch nicht 100%. Zb fehlen die svg icons unter activity log hinterm reverse proxy.

Ideen?

Config.php oder nginx config? :(
 
Zuletzt bearbeitet:
Sorry, ich blick da nicht mehr durch :D Könntest du erklären, wie das Setup von dir aussieht? Die Office-Cloud hostest du?
 
Yes. Sry haha, also nur eine Route.

Internet - > reverse proxy (nginx) - > cloud.xx.de VM webserver (apache2)

Auf letztem läuft auf Port 80 nextcloud und im Docker Port 9980 das Office collabora.

Läuft alles smooth. Ich denke es ist ein nextcloud Bug dass manche icon und svg Pfade nicht korrekt geroutet werden. Bekomme das als Fehler im Browser dass eine Ressource nicht geladen werden kann. Mach noch nen bild nachher
Ergänzung ()

[Refused to load the image 'http://cloud.xxx.de/core/img/logo.svg?v=30' because it violates the following Content Security Policy directive: "img-src 'self' data: blob:".

Komisch is dass wenige theme sachen über http aufgelöst werden sollen
 
Zuletzt bearbeitet:
Krautmaster schrieb:
Läuft alles smooth. Ich denke es ist ein nextcloud Bug dass manche icon und svg Pfade nicht korrekt geroutet werden. Bekomme das als Fehler im Browser dass eine Ressource nicht geladen werden kann. Mach noch nen bild nachher

Das ist kein Bug, dir fehlen einfach folgende Properties in der Nextcloud-config:

'trusted_proxies' => ['10.11.1.1'],
'overwriteprotocol' => 'https',
'overwritecondaddr' => '^10\.11\.1\.1$',

10.11.1.1 ist hierbei mit der IP deines Proxys zu ersetzen.
 
wird sofort getestet vielen Dank!

Edit: scheint irgendwie nix gebracht zu haben.

2017-06-06 13_49.png

Policy thema?

Code:
server {
# The IP that you forwarded in your router (nginx proxy)
  listen 192.168.1.103:443 ssl;

 # SSL config
 ssl on;
 ssl_certificate /etc/letsencrypt/live/cloud.XXX.de/fullchain.pem;
 ssl_certificate_key /etc/letsencrypt/live/cloud.XXX.de/privkey.pem;

#special ssl params
ssl_protocols TLSv1 TLSv1.1 TLSv1.2;
ssl_prefer_server_ciphers on;
ssl_ciphers "EECDH+AESGCM:EDH+AESGCM:AES256+EECDH:AES256+EDH";
ssl_ecdh_curve secp384r1;
ssl_session_cache shared:SSL:10m;
ssl_session_tickets off;
ssl_stapling on;
ssl_stapling_verify on;
resolver 8.8.8.8 8.8.4.4 valid=300s;
resolver_timeout 5s;
# Disable preloading HSTS for now.  You can use the commented out header line that includes
# the "preload" directive if you understand the implications.
#add_header Strict-Transport-Security "max-age=63072000; includeSubdomains; preload";
#add_header Strict-Transport-Security "max-age=63072000; includeSubdomains";

add_header X-Frame-Options DENY;
add_header X-Content-Type-Options nosniff;
add_header X-XSS-Protection '1; mode=block';
add_header X-Frame-Options "SAMEORIGIN";

# Make site accessible from http://localhost/
 server_name cloud.XXXXX.de www.cloud.XXXXX.de;

# The internal IP of the VM that hosts your Apache config
 set $upstream 192.168.1.200;

 location / {

 add_header Strict-Transport-Security "max-age=15768000; includeSubDomains; preload;";

 proxy_pass_header Authorization;
 proxy_pass http://$upstream;
 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_http_version 1.1;
 proxy_set_header Connection "";
 proxy_buffering off;
 client_max_body_size 0;
 proxy_read_timeout 36000s;
 proxy_redirect off;
 proxy_ssl_session_reuse off;



 }

  # static files
  location ^~ /loleaflet {
    proxy_pass https://192.168.1.200:9980;
    proxy_set_header Host $http_host;
  }

  # WOPI discovery URL
  location ^~ /hosting/discovery {


Edit: Das Problem hab ich auch mit einem testclient hinterm Reverse Proxy hmmm.

Edit: https://github.com/nextcloud/server/issues/5147

und im webserver
Code:
<VirtualHost *:80>

### YOUR SERVER ADDRESS ###
#    ServerAdmin admin@example.com
#    ServerName example.com
#    ServerAlias subdomain.example.com

### SETTINGS ###
    DocumentRoot /var/www/nextcloud

    <Directory /var/www/nextcloud>
    Options Indexes FollowSymLinks
    AllowOverride All
    Require all granted
    Satisfy Any
    </Directory>

    <IfModule mod_dav.c>
    Dav off
    </IfModule>

    <Directory "/var/ncdata">
    # just in case if .htaccess gets disabled
    Require all denied
    </Directory>

    SetEnv HOME /var/www/nextcloud
    SetEnv HTTP_HOME /var/www/nextcloud

</VirtualHost>
Ergänzung ()

Schalte ich den Memcache ab dann gehts auf einmal

2017-06-06 14_39_37-DMZClient - TeamViewer.png
 
Zuletzt bearbeitet:
CSP Header:

Code:
add_header Content-Security-Policy "default-src 'self'; script-src 'self' 'unsafe-inline' 'unsafe-eval'; img-src 'self' https://cloud.xxxx; base-uri 'none'";

Probier es aber erstmal ohne den script-src Teil.
 
Zuletzt bearbeitet:
ah okay mach ich sofort. Seit neu aufsetzen des Redis Servers tuts aber. Hab auch noch bei NGINX auf HTTPS2 umgestellt. Fluppt echt mega für dass es von meinem server mit 10 Mbit Upload kommt.

Edit: Könnte auch nen Problem mim Firmen Proxy sein, zumindest was die Fehler bei CSP angeht.

Rufe ich in ner VM mit Tethering auf bekomme ich nur noch das:
2017-06-07 10_13_21.png

ganz ohne den eben von dir vorgeschlagenen Eintrag :)

Stand jetzt tuts. Auch das ändern von Background und Logo schlägt durch, das machte davor Probleme.

@ Home:
2017-06-07 10_17_30.png
@ Work:
2017-06-07 10_17_52.png

Die Header Anpassung schlägt nich durch, also hier im Firmen Netz bekomme ich denselben Fehler nach wie vor.
 
Zuletzt bearbeitet:
Welche Header werden denn ausgliefert?
framce-src ist in CSP Level 3 "un-deprecated" :freaky:

Welchen Client hast du in der VM? Vielleicht ist da CSP deaktivert, sodass er das einfach ignoriert.
 
Zuletzt bearbeitet:
Ich poste nochmal die aktuelle Konfig:

Webserver mit NextCloud & Apache2:
Code:
root@nextcloud:/var/www/nextcloud# sudo -u www-data php ./occ config:list system
{
    "system": {
        "passwordsalt": "***REMOVED SENSITIVE VALUE***",
        "secret": "***REMOVED SENSITIVE VALUE***",
        "trusted_domains": [
            "localhost",
            "192.168.1.200",
            "nextcloud",
            "cloud.XXXXX.de"
        ],
        "datadirectory": "\/var\/ncdata",
        "overwrite.cli.url": "https:\\\/\\\/cloud.XXXXX.de\\\/nextcloud",
        "trusted_proxies": [
            "192.168.1.103"
        ],
        "overwriteprotocol": "https",
        "overwritecondaddr": "^192\\.168\\.1\\.103$",
        "dbtype": "mysql",
        "version": "12.0.0.29",
        "dbname": "nextcloud_db",
        "dbhost": "localhost",
        "dbport": "",
        "dbtableprefix": "oc_",
        "mysql.utf8mb4": true,
        "dbuser": "***REMOVED SENSITIVE VALUE***",
        "dbpassword": "***REMOVED SENSITIVE VALUE***",
        "installed": true,
        "instanceid": "ocab8j3aaavu",
        "appstore.experimental.enabled": "true",
        "mail_smtpmode": "smtp",
        "mail_smtpauth": "1",
        "mail_smtpport": "465",
        "mail_smtphost": "smtp.gmail.com",
        "mail_smtpauthtype": "LOGIN",
        "mail_from_address": "www.techandme.se",
        "mail_domain": "gmail.com",
        "mail_smtpsecure": "ssl",
        "mail_smtpname": "***REMOVED SENSITIVE VALUE***",
        "mail_smtppassword": "***REMOVED SENSITIVE VALUE***",
        "preview_libreoffice_path": "\/usr\/bin\/libreoffice",
        "memcache.local": "\\OC\\Memcache\\Redis",
        "filelocking.enabled": true,
        "memcache.distributed": "\\OC\\Memcache\\Redis",
        "memcache.locking": "\\OC\\Memcache\\Redis",
        "redis": {
            "host": "localhost",
            "port": 6379,
            "timeout": 0,
            "dbindex": 0
        },
        "htaccess.RewriteBase": "\/",
        "maintenance": false
    }
}

Apache Site Config:
Code:
root@nextcloud:/var/www/nextcloud/core/skeleton# cat /etc/apache2/sites-enabled/nextcloud_http_domain_self_signed.conf
<VirtualHost *:80>

### YOUR SERVER ADDRESS ###
#    ServerAdmin admin@example.com
#    ServerName example.com
#    ServerAlias subdomain.example.com

### SETTINGS ###
    DocumentRoot /var/www/nextcloud

    <Directory /var/www/nextcloud>
    Options Indexes FollowSymLinks
    AllowOverride All
    Require all granted
    Satisfy Any
    </Directory>

    <IfModule mod_dav.c>
    Dav off
    </IfModule>

    <Directory "/var/ncdata">
    # just in case if .htaccess gets disabled
    Require all denied
    </Directory>

    SetEnv HOME /var/www/nextcloud
    SetEnv HTTP_HOME /var/www/nextcloud

</VirtualHost>

Reverse Proxy NGINX Config

Code:
server {
# The IP that you forwarded in your router (nginx proxy)
  listen 192.168.1.103:443 ssl;

 # SSL config
 ssl on;
 ssl_certificate /etc/letsencrypt/live/cloud.XXXX.de/fullchain.pem;
 ssl_certificate_key /etc/letsencrypt/live/cloud.XXXXX.de/privkey.pem;

#special ssl params
ssl_protocols TLSv1 TLSv1.1 TLSv1.2;
ssl_prefer_server_ciphers on;

#disable sonst geht die Android app nicht
#ssl_ciphers "EECDH+AESGCM:EDH+AESGCM:AES256+EECDH:AES256+EDH";

ssl_ecdh_curve secp384r1;
ssl_session_cache shared:SSL:10m;
ssl_session_tickets off;
ssl_stapling on;
ssl_stapling_verify on;
resolver 8.8.8.8 8.8.4.4 valid=300s;
resolver_timeout 5s;
# Disable preloading HSTS for now.  You can use the commented out header line that includes
# the "preload" directive if you understand the implications.
#add_header Strict-Transport-Security "max-age=63072000; includeSubdomains; preload";
#add_header Strict-Transport-Security "max-age=63072000; includeSubdomains";

add_header X-Frame-Options DENY;
add_header X-Content-Type-Options nosniff;
add_header X-XSS-Protection '1; mode=block';
add_header X-Frame-Options "SAMEORIGIN";

# Make site accessible from http://localhost/
 server_name cloud.XXXXXX.de www.cloud.XXXXX.de;

# The internal IP of the VM that hosts your Apache config
 set $upstream 192.168.1.200;



#add_header Content-Security-Policy "default-src 'self'; img-src 'self' https://cloud.XXXXX.de; base-uri 'none'";


 location / {

# add_header Strict-Transport-Security "max-age=15768000; includeSubDomains; preload;";
add_header Strict-Transport-Security "max-age=15552000; includeSubDomains";
 proxy_pass_header Authorization;
 proxy_pass http://$upstream;
 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_http_version 1.1;
 proxy_set_header Connection "";
 proxy_buffering off;
 client_max_body_size 0;
 proxy_read_timeout 36000s;
 proxy_redirect off;
 proxy_ssl_session_reuse off;

#add_header Cache-Control "public";
#proxy_hide_header Cache-Control;


 }

  # static files
  location ^~ /loleaflet {
    proxy_pass https://192.168.1.200:9980;
    proxy_set_header Host $http_host;
  }

  # WOPI discovery URL
  location ^~ /hosting/discovery {
    proxy_pass https://192.168.1.200:9980;
    proxy_set_header Host $http_host;
  }

  # websockets, download, presentation and image upload
  location ^~ /lool {
    proxy_pass https://192.168.1.200:9980;
    proxy_set_header Upgrade $http_upgrade;
    proxy_set_header Connection "upgrade";
    proxy_set_header Host $http_host;
}
}


Habe weder innerhalb der DMZ noch Außerhalb nun Probleme, IE, FF und Chrome scheinen problemlos und korrekt die Cloud aufzubauen.
 
Zurück
Oben