Веб-сервер nginx с местоположением regex и псевдонимом и расширением xls
У меня есть конфигурация nginx что-то вроде этого,
server {
server_name my.domain.com;
listen 80;
root /path/to/http/root;
include /path/to/proxy.common.conf;
location ~ ^/foo-(.+)$ {
alias /path/to/static/file/$1;
}
location / {
try_files $uri $uri/ =404;
proxy_pass http://127.0.0.1:8000/;
}
}
я не могу получить доступ к файлам с местоположением /foo-something.xls, он всегда возвращает 404 не найден...
Я также пытался с.xlsx,.doc и.docx, но он также показывает, не найден...
если я получаю доступ к файлу, как.js, .css, .png, .xls1, .doc1 и т. д., он ведет себя нормально...
журнал ошибок показывает местоположение с регулярным выражением не совпадает, и попытался посмотреть в корневом расположении...
я также проверил местоположение с
location = /foo-test1.xls
location ^~ /foo-test2.xls
и псевдоним файла, и он возвращает содержимое файла...
я что-то упустил с моей конфигурацией?
Я только что нашел эту проблему при разработке модуля генератора отчетов в рамках моей компании...
я также пытался читать как в исходном коде nginx, так и в pcre, но не могу найти ни одной строки, связанной с этими расширениями...
1 ответ
Я нашел, что вызывает путаницу с пути...
я пропустил при проверке на proxy.common.conf...
после перепроверки я обнаружил, что есть место для проверки файлов с таким расширением с помощью regex...
вот почему регулярное выражение прекращает поиск после нахождения подходящего местоположения...
после перекрестной проверки с кем-то, кто настраивал nginx прежде, местоположение имеет какое-то отношение к нашей предыдущей структуре...
Спасибо за вашу поддержку...