Мне бы очень хотелось помочь с проблемой, которая поставила меня в тупик.
Я тестирую хостинговую платформу Runcloud для размещения сервера Nextcloud. Он использует настройку прокси-сервера Apache / Nginx и имеет ряд файлов конфигурации, которые нельзя / не следует изменять. Это позволяет использовать «дополнительные» файлы conf для добавления дополнительных объявлений Nginx.
В файле conf по умолчанию есть следующее правило:
location ~ /\. {
deny all;
access_log off;
log_not_found off;
}
Это правило вызывает проблемы с тем, как Nextcloud обрабатывает загрузку больших файлов и как он разбивается файлы и объединяет их вместе после завершения передачи, что делается с помощью скрытого файла .file и запрещается указанной выше конфигурацией Nginx. Nextcloud рекомендует изменить правило на следующее, чтобы обойти это:
location ~ /\.(?!file).* {
deny all;
access_log off;
log_not_found off;
}
Проблема в том, что я не могу изменить исходное объявление, потому что оно находится в одном из файлов хостинг-провайдера по умолчанию, который может быть перезаписан новыми обновлениями. Они рекомендовали мне использовать настраиваемый включаемый файл, чтобы переопределить это поведение.
Я следил за их документацией, и новый блок местоположения подбирается Nginx, но не отменяет режим работы, как хотелось бы. Я не уверен, можно ли переопределить как таковые, и я действительно не знаю, как обновленный блок должен быть представлен во включаемом файле. Я попытался сопоставить его более конкретно, но безуспешно.
Мы будем очень признательны за любой совет по поводу того, как должно выглядеть это правило!
TIA
От службы поддержки RunCloud...
Для каждого веб-приложения в разделе Nginx Config вы можете создать собственный файл конфигурации и выбрать тип location.main-before. Этот файл conf будет загружаться перед main.conf, поэтому вы можете установить свои собственные директивы местоположения, которые будут иметь приоритет над файлом main.conf веб-приложений.