Tôi sử dụng Drupal 9.3 và tôi đã tạo một thư mục riêng bên ngoài thư mục gốc. Tôi đã làm theo tài liệu [liên kết] và thêm dòng sau vào tệp settings.php của tôi trong drupal:
$settings['file_private_path'] = '../private';
Tệp riêng tư tồn tại bên ngoài thư mục gốc web của tôi như sau: /var/www/example.com/private
với gốc web trong/var/www/example.com/html
.
Tôi đang sử dụng nginx và tôi muốn đảm bảo rằng tôi đã bảo mật tệp riêng tư đúng cách. Để làm như vậy, tôi đã thêm khối này:
vị trí ^~ {
nội bộ;
bí danh /var/www/example.com/private;
}
Điều này có đúng không và tôi đã bảo mật tệp/thư mục riêng tư đúng cách chưa?
Các tài liệu đề cập đến điều này: Lưu ý rằng các máy chủ web không phải của Apache có thể cần cấu hình bổ sung để bảo mật các thư mục tệp riêng tư.
Máy chủ ảo Nginx hoàn chỉnh của tôi (tức là tệp cấu hình) bên dưới:
người phục vụ {
gốc /var/www/example.com/html;
chỉ mục index.html index.htm index.nginx-debian.html index.php;
server_name example.com www.example.com;
địa điểm / {
try_files $uri $uri/ /index.php?$args;
}
vị trí = /favicon.ico { log_not_found tắt; truy cập_đăng xuất; }
vị trí = /robots.txt { log_not_found tắt; truy cập_đăng xuất; chấp nhận tất cả; }
vị trí ~* \.(css|gif|ico|jpeg|jpg|js|png)$ {
hết hạn tối đa;
log_not_found tắt;
}
# truyền tập lệnh PHP tới máy chủ FastCGI
#
vị trí ~ \.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;
bao gồm fastcgi_params;
}
# từ chối quyền truy cập vào tệp .htaccess, nếu tài liệu gốc của Apache
# đồng tình với nginx
#
vị trí ~ /\.ht {
Phủ nhận tất cả;
}
vị trí ^~ {
nội bộ;
bí danh /var/www/example.com/private;
}
lắng nghe [::]:443 ssl ipv6only=on; # được quản lý bởi Certbot
nghe 443 ssl; # được quản lý bởi Certbot
ssl_certificate /etc/letsencrypt/live/example.com/fullchain.pem; # được quản lý bởi Certbot
ssl_certificate_key /etc/letsencrypt/live/example.com/privkey.pem; # được quản lý bởi Certbot
bao gồm /etc/letsencrypt/options-ssl-nginx.conf; # được quản lý bởi Certbot
ssl_dhparam /etc/letsencrypt/ssl-dhparams.pem; # được quản lý bởi Certbot
}
người phục vụ {
nếu ($host = example.com) {
trả lại 301 https://$host$request_uri;
} # được quản lý bởi Certbot
nghe 80 ;
nghe [::]:80 ;
server_name example.com www.example.com;
trả lại 404; # được quản lý bởi Certbot
}