Вопрос

Я использую Nginx, чтобы обратить вспять прокси -процесс своего Unicorn для приложения Rails, который у меня есть. Я хотел бы иметь возможность получить статус прогресса (аналогично Apache-Upload-Progress-Module) для загрузки файлов. Я пытался использовать Nginxhttpuploadprogressmodule Но /прогресс по -прежнему маршрутирует приложение Rails, так что это не работает. Я следовал шагам в Nginxhttpuploadprogressmodule Так что я действительно нахожусь здесь.

Это было полезно?

Решение

Не видя точной конфигурации, которую вы внедрили, и журнал отладки, трудно понять, что может быть неправильно.

Я предлагаю тебе:

  1. Скомпилируйте nginx с опцией-с debug и активируйте журнал отладки с помощью директивы error_log.
  2. Проверьте журнал отладки для запроса /прогресса и посмотрите порядок проверенных мест.

Вполне возможно, что вы используете try_files, а местоположение /расположение Progress не запускается, потому что он расположен после вашего ловушки. Вы можете попытаться поместить местоположение /прогресс в верхней части вашего сервера {} Директива

Другие советы

Я использую это, есть

location ^~ /progress {
  upload_progress_json_output;
  report_uploads proxied;
}

раздел в блоке сервера, и он работает нормально, Rails никогда не видит /progress.

Хорошо, я понял это с помощью вас обоих, ребята (Masterzen и JL). У меня не было

location ^~ /progress {
  upload_progress_json_output;
  report_uploads proxied;
}

но

location ^~ /progress {
  report_uploads proxied;
}

и комментарий Masterzen также помог

location / {
  # blah blah
}

Перед /прогрессом. Большое спасибо, ребята !!

Лицензировано под: CC-BY-SA с атрибуция
Не связан с StackOverflow
scroll top