====== Nginx veebilehe seadistusfaili (SSL tugi) näidis ======
Tegemist on Nginx veebilehe näidis-konfiguratsioonifailiga, mis on mõeldud ainult testimiseks ja õppeotstarbeks. Töökeskkonnas ei ole soovitatav seda seadistust kasutada ilma põhjaliku kontrolli ja kohandamiseta.
Autor ei vastuta konfiguratsiooni kasutamisest tulenevate võimalike kahjude eest.
#
# Veebilehe test.minudomeen.ee 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/test.minudomeen.ee;
# Indeks failid - *.html ja *.htm on fallback
index index.php index.html index.htm;
# Serveri nimi
server_name test.minudomeen.ee;
# Asukoht, kus asuvad veebifailid
location / {
try_files $uri $uri/ =404;
}
# PHP skriptide tugi Nginx'ile läbi FastCGI protokolli
location ~ \.php$ {
include snippets/fastcgi-php.conf;
fastcgi_pass unix:/run/php/php-fpm.sock;
}
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/test.minudomeen.ee.crt;
ssl_certificate_key /etc/ssl/private/test.minudomeen.ee.key;
# Diffie-Hellman parameetrid (võtmete vahetuseks)
ssl_dhparam /etc/ssl/certs/dh.test.minudomeen.ee.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/test.minudomeen.ee.access.log;
error_log /var/log/nginx/test.minudomeen.ee.error.log warn;
}
server {
if ($host = test.minudomeen.ee) {
return 301 https://$host$request_uri;
}
listen 80;
listen [::]:80;
server_name test.minudomeen.ee;
return 444; # Katkesta ühendus serveriga, kliendile vastust ei saadeta
}
--- //[[tuxplanet@proton.me|Reidar S.]] 2025-10-27 21:34//