server { listen 80; listen [::]:80; server_name {{ item.value.hostname }}; include snippets/{{ acme_client }}.conf; location / { return 301 https://$host$request_uri; } } server { listen 443 ssl http2; listen [::]:443 ssl http2; server_name {{ item.value.hostname }}; include snippets/{{ acme_client }}.conf; include snippets/tls.conf; ssl_certificate {{ x509_certificate_path_fullchain }}; ssl_certificate_key {{ x509_certificate_path_key }}; include snippets/hsts.conf; client_max_body_size 128M; # static files {% if item.value.version | collabora_code_loolvcool %} location ^~ /loleaflet { {% else %} location ^~ /browser { {% endif %} include snippets/proxy-nobuff.conf; include snippets/proxy-forward-headers.conf; proxy_set_header Host $http_host; proxy_pass http://127.0.0.1:{{ item.value.port }}; proxy_redirect http://$host/ https://$host/; proxy_redirect http://$host:9980/ https://$host/; } # WOPI discovery URL location ^~ /hosting/discovery { include snippets/proxy-nobuff.conf; include snippets/proxy-forward-headers.conf; proxy_set_header Host $http_host; proxy_pass http://127.0.0.1:{{ item.value.port }}; proxy_redirect http://$host/ https://$host/; proxy_redirect http://$host:9980/ https://$host/; } # Capabilities location ^~ /hosting/capabilities { include snippets/proxy-nobuff.conf; include snippets/proxy-forward-headers.conf; proxy_set_header Host $http_host; proxy_pass http://127.0.0.1:{{ item.value.port }}; proxy_redirect http://$host/ https://$host/; proxy_redirect http://$host:9980/ https://$host/; } # main websocket {% if item.value.version | collabora_code_loolvcool %} location ~ ^/lool/(.*)/ws$ { {% else %} location ~ ^/cool/(.*)/ws$ { {% endif %} include snippets/proxy-nobuff.conf; include snippets/proxy-forward-headers.conf; proxy_set_header Upgrade $http_upgrade; proxy_set_header Connection $connection_upgrade; proxy_read_timeout 36000s; proxy_set_header Host $http_host; proxy_pass http://127.0.0.1:{{ item.value.port }}; proxy_redirect http://$host/ https://$host/; proxy_redirect http://$host:9980/ https://$host/; } # download, presentation and image upload {% if item.value.version | collabora_code_loolvcool %} location ~ ^/lool { {% else %} location ~ ^/(c|l)ool { {% endif %} include snippets/proxy-nobuff.conf; include snippets/proxy-forward-headers.conf; proxy_set_header Host $http_host; proxy_pass http://127.0.0.1:{{ item.value.port }}; proxy_redirect http://$host/ https://$host/; proxy_redirect http://$host:9980/ https://$host/; } # Admin Console websocket {% if item.value.version | collabora_code_loolvcool %} location ^~ /lool/adminws { {% else %} location ^~ /cool/adminws { {% endif %} include snippets/proxy-nobuff.conf; include snippets/proxy-forward-headers.conf; proxy_set_header Upgrade $http_upgrade; proxy_set_header Connection $connection_upgrade; proxy_read_timeout 36000s; proxy_set_header Host $http_host; proxy_pass http://127.0.0.1:{{ item.value.port }}; proxy_redirect http://$host/ https://$host/; proxy_redirect http://$host:9980/ https://$host/; } }