# Vorlage für die Auslieferung der ÄndGgner-Browserfassung. Es gibt keinen # Anwendungsprozess mehr: Der Server liefert nur statische Dateien aus # (Inhalt von target/web/), gerechnet wird im Browser. # # Vor dem Einsatz anpassen: server_name, ssl_certificate(_key) (z. B. via certbot), root. server { listen 80; listen [::]:80; server_name aendggner.example.org; return 301 https://$host$request_uri; } server { listen 443 ssl http2; listen [::]:443 ssl http2; server_name aendggner.example.org; ssl_certificate /etc/letsencrypt/live/aendggner.example.org/fullchain.pem; ssl_certificate_key /etc/letsencrypt/live/aendggner.example.org/privkey.pem; # Inhalt von target/web/ — ohne aendggner.js.wat, das nur ein Zwischenschritt # des Übersetzers ist. root /var/www/aendggner; index index.html; # Ohne diesen Typ lehnt der Browser die Streaming-Instanziierung des Moduls ab. types { application/wasm wasm; } gzip on; gzip_types application/wasm application/javascript text/css text/html; gzip_min_length 1024; # Das Wasm-Modul ist einige Megabyte groß und ändert sich nur mit einer neuen # Fassung; vorkomprimierte .gz/.br daneben zu legen lohnt sich (ngx_brotli bzw. # gzip_static). location ~ \.(wasm|js|css)$ { expires 7d; add_header Cache-Control "public"; } location / { try_files $uri $uri/ =404; } }