# # Veebilehe nextcloud.mydomain.local seadistus SSL tugi ja Redirect HTTP (80) > HTTPS (443) # server { # Turvapäised add_header X-Frame-Options "SAMEORIGIN" always; add_header X-Content-Type-Options "nosniff" always; add_header Referrer-Policy "strict-origin-when-cross-origin" always; add_header Permissions-Policy "geolocation=(), microphone=(), camera=()" always; add_header X-XSS-Protection "1; mode=block" always; # ------------------------------------------------------------------------------------------ # Veebilehitseja kasutab alati ja erandlikult ainult HTTPS # max-age = 63072000 - määrab aja kaua veebilehitseja peab antud reeglit meeles pidama # includeSubDomains - reegli rakendamine alamdomeenidele # preload - Lisa domeen HSTS Preload Listi (sisseehitatud veebilehitsejasse) # Antud parameeter/päis pole kohustuslik # ------------------------------------------------------------------------------------------ add_header Strict-Transport-Security "max-age=63072000; includeSubDomains; preload"; # Veebilehe juurkataloog root /var/www/nextcloud; # Indeks failid - *.html ja *.htm on fallback index index.php index.html index.htm; # Serveri nimi server_name nextcloud.mydomain.local; # Asukoht, kus asuvad veebifailid location / { rewrite ^ /index.php$request_uri; } # Failide ja kaustade kaitse location ~ ^/(?:build|tests|config|lib|3rdparty|templates|data)/ { deny all; } location ~ ^/(?:\.|autotest|occ|issue|indie|db_|console) { deny all; } # PHP tugi FastCGI kaudu location ~ \.php(?:$|/) { fastcgi_split_path_info ^(.+?\.php)(/.*)$; include fastcgi_params; fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name; fastcgi_param PATH_INFO $fastcgi_path_info; fastcgi_param HTTPS on; fastcgi_pass unix:/run/php/php-fpm.sock; # kontrolli, et see fail eksisteerib fastcgi_intercept_errors on; fastcgi_request_buffering off; } # Statiliste failide vahemälu location ~ \.(?:css|js|woff2?|svg|gif|png|html|ttf|ico|jpg|jpeg)$ { try_files $uri /index.php$request_uri; access_log off; add_header Cache-Control "public, max-age=15778463"; } listen 443 ssl; # HTTPS ühendus, IPv4 listen [::]:443 ssl; # HTTPS ühendus, IPv6 (võib jätta vahele, kui ei kasuta IPv6) # Domeeni (veebilehe) sertifikaat ja privaatvõti ssl_certificate /etc/ssl/certs/nextcloud.crt; ssl_certificate_key /etc/ssl/private/nextcloud.key; # Diffie-Hellman parameetrid (võtmete vahetuseks) ssl_dhparam /etc/ssl/certs/dh.nextcloud.pem; # ----------------------------------------------------- # Täiendavad turvaseaded (valikuline) # ----------------------------------------------------- # Turvaprotokollid ssl_protocols TLSv1.2 TLSv1.3; # Krüpteeringud # HIGH - kõrge turvalisus # !aNULL - keela paketid, mis ei kasuta autentimist # !MD5 - keela kõik krüptopaketid, mis kasutavad MD5 räsialgoritmi. # !DSS - keela DSS/DSA-põhised sertifikaadid ja võtmevahetused # !aECDH - keela anonüümne ECDH # !aRSA - keela anonüümne RSA ssl_ciphers 'HIGH:!aNULL:!MD5:!DSS:!aECDH:!aRSA'; # Eelista serveri poolt pakutud pakette. Server valib oma eelistatud # krüptopaketi kliendi toetatavate pakettide hulgast ssl_prefer_server_ciphers on; # SSL seansside vahemälu # shared - vahemälu on jagatud NGINX tööprotsesside vahel # SSL - vahemälu nimi # 10m - vahemälu suurus 10 megabaiti ssl_session_cache shared:SSL:10m; # Vahemällu salvestatud SSL seanssi informatsiooni kehtivus ssl_session_timeout 15m; # ------------------------------------------------------------------- # Logfailid # access_log - kõik päringud (kliendi IP, URL, vastuse kood jne) # error_log - Nginxi enda vead, PHP-probleemid # warn - logimistase # Logitase - debug, info, notice, warn, error, crit, alert, emerg # ------------------------------------------------------------------- access_log /var/log/nginx/nextcloud.access.log; error_log /var/log/nginx/nextcloud.error.log warn; } server { if ($host = nextcloud.mydomain.local) { return 301 https://$host$request_uri; } listen 80; listen [::]:80; server_name nextcloud.mydomain.local; return 444; # Katkesta ühendus serveriga, kliendile vastust ei saadeta }