В последнее время мы довольно часто видим сообщения X-Accel-Mapping header missing, которые генерирует контейнер, но они не возникают при каждом посещении или шаге навигации. Я вижу, что этот заголовок явно определён в конфигурации Nginx, хотя и не для всех запросов: discourse/config/nginx.sample.conf at main · discourse/discourse · GitHub
Поскольку я не нашёл подобных сообщений ни в одном другом месте этого форума, я задаюсь вопросом, не связано ли это с используемой нами настройкой подкаталога, хотя не вижу, каким именно образом.
Не уверен, что именно генерирует эти сообщения, но полагаю, что они должны появляться только если X-Sendfile-Type установлен в X-Accel-Redirect, а X-Accel-Mapping не задан. В конфигурации же оба параметра либо определены, либо оба пусты
.
На самом деле это происходит только при доступе к резервным копиям и, что более важно, при доступе к загруженным файлам. Я протестировал и подтвердил, что сообщение появляется каждый раз, когда я просматриваю пост с загруженным изображением или подобным контентом. Судя по конфигурации, не должно быть возможным, чтобы X-Accel-Redirect был установлен, а X-Accel-Mapping — нет. Кроме того, это заголовок запроса, устанавливаемый Nginx внутри контейнера и потребляемый только Discourse/unicorn/pitchfork/backend, то есть он вообще не выходит за пределы контейнера и не входит в него.
Ах, мы настроили Nginx на запись логов в STDERR, и поскольку я не вижу этих сообщений в логах Discourse, я уверен, что их генерирует сам Nginx. Вероятно, именно поэтому их никто другой не замечал, так как они находятся в файле логов Nginx. Не найдётся ли у кого-то времени проверить, содержат ли ваши shared/*/log/var-log/nginx/error.log аналогичные записи? Если да, я свяжусь с теми, кто не использует настройку подкаталога, чтобы сузить круг возможных причин.