Kasutaja tarvikud

Lehe tööriistad


nginx_veebilehe_seadistusfail_ssl_toega_naidis_nextcloud

See on dokumendi vana versioon!


Nginx veebilehe seadistusfaili (SSL tugi) näidis - Nextcloud

Tegemist on Nextcloudi jaoks mõeldud Nginx veebiserveri näidis konfiguratsioonifailiga, mis on mõeldud üksnes testimiseks ja õppeotstarbel. Töökeskkonnas ei ole soovitatav seda seadistust kasutada ilma põhjaliku kontrolli ja põhjalike kohandamisteta vastavalt keskkonna nõuetele.

Autor ei vastuta konfiguratsiooni kasutamisest tulenevate võimalike kahjude eest.

SSL-test.minudomeen.ee
#
# 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
 
}
nginx_veebilehe_seadistusfail_ssl_toega_naidis_nextcloud.1763135088.txt.gz · Viimati muutnud: persoon Reidar S.