Folosesc Drupal 9.3 și am creat un folder privat în afara directorului rădăcină. Am urmarit documentatia [legătură] și am adăugat următoarea linie în fișierul meu settings.php în drupal:
$settings['file_private_path'] = '../private';
Fișierul privat există în afara directorului meu rădăcină web, după cum urmează: /var/www/example.com/private
cu rădăcină web în/var/www/example.com/html
.
Folosesc nginx și vreau să mă asigur că am securizat corect fișierul privat. Pentru a face acest lucru, am adăugat acest bloc:
locație ^~ {
intern;
alias /var/www/example.com/private;
}
Este corect și am securizat corect fișierul/folderul privat?
Documentația menționează asta: Rețineți că serverele web non-Apache pot avea nevoie de configurare suplimentară pentru a securiza directoarele de fișiere private.
Gazda mea virtuală Nginx completă (adică fișierul de configurare) este mai jos:
Server {
rădăcină /var/www/example.com/html;
index index.html index.htm index.nginx-debian.html index.php;
nume_server example.com www.example.com;
Locație / {
try_files $uri $uri/ /index.php?$args;
}
locație = /favicon.ico { log_not_found off; access_log off; }
locație = /robots.txt { log_not_found off; access_log off; permite tuturor; }
locație ~* \.(css|gif|ico|jpeg|jpg|js|png)$ {
expira max;
log_not_found off;
}
# treceți scripturile PHP către serverul FastCGI
#
locație ~ \.php$ {
try_files $uri =404;
fastcgi_split_path_info ^(.+\.php)(/.+)$;
fastcgi_pass unix:/var/run/php/php8.1-fpm.sock;
fastcgi_index index.php;
fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;
include fastcgi_params;
}
# interzice accesul la fișierele .htaccess, dacă rădăcina documentului Apache
# de acord cu cel al lui nginx
#
locație ~ /\.ht {
nega totul;
}
locație ^~ {
intern;
alias /var/www/example.com/private;
}
asculta [::]:443 ssl ipv6only=on; # gestionat de Certbot
asculta 443 ssl; # gestionat de Certbot
ssl_certificate /etc/letsencrypt/live/example.com/fullchain.pem; # gestionat de Certbot
ssl_certificate_key /etc/letsencrypt/live/example.com/privkey.pem; # gestionat de Certbot
includ /etc/letsencrypt/options-ssl-nginx.conf; # gestionat de Certbot
ssl_dhparam /etc/letsencrypt/ssl-dhparams.pem; # gestionat de Certbot
}
Server {
dacă ($gazdă = exemplu.com) {
returnează 301 https://$host$request_uri;
} # gestionat de Certbot
asculta 80 ;
asculta [::]:80 ;
nume_server example.com www.example.com;
întoarce 404; # gestionat de Certbot
}