fix(nginx): разрешить доступ к публичным файлам storage через symlink

Проблема: Правило 'location ~ ^/storage/ { deny all; }' блокировало
ВСЕ запросы к /storage/, включая файлы доступные через symlink
public/storage -> storage/app/public.

Решение:
- location /storage/ — разрешает доступ к статическим файлам (изображения, документы)
- Запрещает выполнение .php файлов в storage (security)
- try_files $uri =404 — отдаёт файлы если они существуют
- Запрещает листинг директорий (autoindex off)

Fix: Изображения новостей не загружались (404 ошибка)

Co-authored-by: Qwen-Coder <qwen-coder@alibabacloud.com>
This commit is contained in:
F4ilji
2026-04-07 18:08:37 +05:00
co-authored by Qwen-Coder
parent 936b1fb5b0
commit b1d964a526
+18 -2
View File
@@ -108,8 +108,24 @@ server {
return 404;
}
# Запрет прямого доступа к storage (вне symlink public/storage)
location ~ ^/storage/ {
# Разрешаем доступ к публичным файлам storage (через symlink public/storage)
# Это должны быть ТОЛЬКО изображения, документы и т.д. — НЕ PHP файлы
location /storage/ {
# Запрещаем выполнение PHP файлов в storage
location ~ \.php$ {
deny all;
return 404;
}
# Разрешаем доступ к статическим файлам
try_files $uri =404;
# Запрещаем листинг директорий
autoindex off;
}
# Запрет прямого доступа к internal storage paths (в обход symlink)
location ~ ^/storage/app/(?!public) {
deny all;
return 404;
}