У меня есть докеризованное приложение Django, где nginx использует proxy_pass для отправки запросов к Django бэкэнду. Я предпочитаю предварительно опубликовать sh определенные страницы, которые не часто меняются, поэтому Django не приходится иметь с ними дело.
Я пытаюсь использовать try_files, чтобы проверить, существует ли эта страница локально, и перейти к Django если нет.
Наша структура URL-адресов требует, чтобы все URL-адреса заканчивались прямым слэ sh, и мы не используем суффиксы типов файлов, например страница может быть www.example.com/hello/. Это означает, что параметр $ uri в nginx в данном случае равен / hello / и когда try_files смотрит, что он ожидает каталог из-за завершающего sla sh. Если у меня есть каталог со списком файлов, как мне заставить try_files просматривать их, не переписывая URL, чтобы удалить sla sh, как это требуется Django?
My nginx conf ниже.
server {
listen 443 ssl http2 default_server;
listen [::]:443 ssl http2 default_server;
server_name example.com;
root /home/testuser/example;
location / {
try_files $uri uri/ @site_root;
}
location @site_root {
proxy_pass http://127.0.0.1:12345;
}
}
Если у меня есть файл "привет" в / home / testuser / example / hello и вызову https://www.example.com/hello/ как я могу получить его для правильной загрузки файла ?
PS все права доступа к папке содержимого stati c и ее содержимому - 777 (на данный момент исключаю проблемы с разрешениями)
Заранее спасибо!