У меня есть сайт, работающий на движке php Modx Revo и обслуживаемый nginx. У меня много файлов в папке root, и теперь они доступны из inte rnet с URL-адресами mysite.com / README.md . Я хочу запретить доступ ко всем из них, кроме файлов с расширениями, которые я хочу указать вручную (json, js, html и png); Вот мой nginx config
server {
listen 443 ssl;
server_name mysite.com;
access_log off;
root /var/www/mysite.com;
index index.php;
#ssl stuff
location / {
root /var/www/mysite.com;
if (!-e $request_filename) {
rewrite ^/(.*)$ /index.php?q=$1 last;
}
}
location ~ \.php$ {
try_files $uri =404;
fastcgi_split_path_info ^(.+\.php)(.*)$;
fastcgi_pass unix:/run/php/php7.2-fpm.sock;
fastcgi_index index.php;
fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;
include fastcgi_params;
fastcgi_ignore_client_abort on;
fastcgi_param SERVER_NAME $http_host;
fastcgi_buffer_size 128k;
fastcgi_buffers 4 128k;
}
location ~*^.+\.(jpg|jpeg|gif|png|css|zip|pdf|js|ico|html) {
root /var/www/mysite.com/;
access_log off;
expires max;
}
}
Мне нужна помощь с новым правилом nginx, чтобы запретить доступ ко всем файлам в папке root (site.com/cronjob.sh, site. com / anyfile.anyext) кроме файлов с расширениями . json,. js,. html, .png (site.com/data.json, site.com/pic.png)