0

Глюки с Редмайном

Доброго времени суток. Столкнулся с трудноуловимым и малопонятным багом в Редмайне.
В общем, имеется сервер с Редмайном. Доступ есть и из локальной сети, и извне. Для доступа извне, на веб-сервере (другая машина) в nginx настроено проксирование.
Так вот, теперь, при доступе из локали, например по ip-адресу в адресной строке, всё работает нормально. Но если заходить извне, по доменному имени, то проявляется следующий баг:
Добавляем к задаче комментарий (допустим, "ТЕСТ"). Сохраняем его. Редактируем этот комментарий (ТЕСТ2). Сохраняем. И при повтором редактировании, комментарий отображается как самый первый (ТЕСТ). Пробовал искать информацию по такому глюку - не нашёл, потому что сложноописумый.
Подозреваю что дело в проксировании (так как в локали глюк не проявляется), но правило там стандартное:

server {

server_name redmine.example.com www.redmine.example.com;

location / {

proxy_pass http://192.168.1.253;

proxy_set_header Host $host;

proxy_set_header X-Real-IP $remote_addr;

proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;

proxy_set_header X-Forwarded-Proto $scheme;

client_max_body_size 0;

client_body_buffer_size 128k;

}

}

Доступ по протоколу HTTP, как изнутри, так и снаружи.

Может тут кто с таким сталкивался, или знает в какую сторону копать?

Лига Сисадминов

2.8K пост19.2K подписчик

Правила сообщества

Мы здесь рады любым постам связанным с рабочими буднями специалистов нашей сферы деятельности.

Автор поста оценил этот комментарий

дружище! есть ненулевая вероятность что я забыл больше чем ты целиком знаешь в области айти.

а ты кажется забыл правило интернета номер 10.

на всякий случай - напомню:
Rule 10: /b/ is not your personal army.

задавая вопрос анонимусу и не предлагая оплаты - наивно требовать, что тебе выложат ответ на тарелочке с голубой каемочкой.

раскрыть ветку (1)
3
Автор поста оценил этот комментарий
Иллюстрация к комментарию
1
Автор поста оценил этот комментарий

Тыкнитесь курлом в этот nginx. Скорее всего, увидите какие-нибудь хедеры о кешировании, которое потом реализует браузер (покажите, кстати, хедеры).

Если так - надо поиграть во что-то такое


add_header Last-Modified $date_gmt;

add_header Cache-Control 'no-store, no-cache';

if_modified_since off;

expires off;

etag off;

раскрыть ветку (1)
1
Автор поста оценил этот комментарий
В общем, спасибо, этот вариант помог.
Я так понимаю, этим nginx указывает браузеру не кэшировать сайт?
показать ответы
0
Автор поста оценил этот комментарий

Ну, в общем, вам вариантов уже накидали, накину и я из своей практики

Был у меня сервак, где процессы в виде виртуальных серверов поднимались. И был прикол, очень похожий на ваш: пользователи начали жаловаться на то, что сервер то не сохраняет информацию, то не отображает ранее сохранëнную, то находит ту, которую ранее сохранил и не отображал. Причëм только по внешнему соединению, из локалки всë работало.

Долго разбирался, и нашëл: при подвисании процесса, автоматически поднимался новый процесс (сервер) с тем же именем. И если из локалки пользователь подключался к одному серверу, с внешний при каждом обновлении страницы, пользователь подключался к серверу, что быстрее ответитответит.

раскрыть ветку (1)
1
Автор поста оценил этот комментарий
Не, тут, сервер один, да и если бы проблема была в дублирующемся процессе, она бы проявлялась и при локальном доступе, и при доступе по ip. А тут только при входе по доменному имени, то есть через прокси nginx-а
0
Автор поста оценил этот комментарий

а какая нить CloudFlare не юзается? - она вроде тоже умеет прокси с кешем

раскрыть ветку (1)
0
Автор поста оценил этот комментарий
Нет конечно, я бы сразу об этом подумал. Просто к домену прикручен адрес, все напрямую
показать ответы
Автор поста оценил этот комментарий

"в локали глюк не проявляется" - а доступ с внешнего мира как осуществляется?

пробовал с телефона например? с другого провайдера?

Может проблема не в автомобиле ,а в прокладке между рулём и сидением? :D

Я к тому, что возможно между редмайном (и nginx) и браузером стоит прокся, типа squid, которая сама по себе кеширует HTTP трафик

раскрыть ветку (1)
0
Автор поста оценил этот комментарий

Нет, через других операторов и браузеры так же. С телефона тоже. Из разных мест.

Лишних проксей нет, домен на таймвебе, ведет на внешний ip, оттуда все что на порты 80 и 443 по iptables перенаправляется на веб-сервер. А там уже проксируется.

Если заходить по внешнему ip адресу, пробросив порт на редмайн - всё работает нормально, но нужно чтобы было по домену

показать ответы
0
Автор поста оценил этот комментарий

Cache-Control: no-cache

Это после изменений? Если нет - то попробуйте какой-нибудь другой урл, не с 302. Если авторизоваться не выходит - гляньте в браузере в консоли разработчика, там видны хедеры всех ответов зна запросы.


no-cache это хорошо для вас.

раскрыть ветку (1)
0
Автор поста оценил этот комментарий
Да, это после изменений. Я же говорил, no-cache добавил, проверил - глюк остался.
Открывал каждый раз для проверки новую ссылку в инкогнито, чтобы кэш браузера не влиял.
показать ответы
0
Автор поста оценил этот комментарий

curl -I, чтобы хедеры были.

раскрыть ветку (1)
0
Автор поста оценил этот комментарий

C:\Users\alpha>curl -i redmine.example.com

HTTP/1.1 302 Found

Server: nginx/1.10.3

Date: Fri, 05 Jul 2024 13:51:21 GMT

Content-Type: text/html; charset=utf-8

Content-Length: 145

Connection: keep-alive

Cache-Control: no-cache

Referrer-Policy: strict-origin-when-cross-origin

X-Permitted-Cross-Domain-Policies: none

X-XSS-Protection: 1; mode=block

X-Request-Id: 8932b79d-f0ce-4139-b529-e72e71fd3937

X-Download-Options: noopen

X-Runtime: 0.003372

X-Frame-Options: SAMEORIGIN

X-Content-Type-Options: nosniff

X-Powered-By: Phusion Passenger(R) 6.0.8

Location: http://redmine.example.com/login?back_url=http://redmine.example.com/

Status: 302 Found

<html><body>You are being <a href="http://redmine.example.com/login?back_url=http%3A%2F%2Fredmine.example.com%2F">redirected</a>.</body></html>

показать ответы
1
Автор поста оценил этот комментарий

Тыкнитесь курлом в этот nginx. Скорее всего, увидите какие-нибудь хедеры о кешировании, которое потом реализует браузер (покажите, кстати, хедеры).

Если так - надо поиграть во что-то такое


add_header Last-Modified $date_gmt;

add_header Cache-Control 'no-store, no-cache';

if_modified_since off;

expires off;

etag off;

раскрыть ветку (1)
0
Автор поста оценил этот комментарий

curl redmine.example.com

<html><body>You are being <a href="http://redmine.example.com/login?back_url=http%3A%2F%2Fredmine.example.com%2F">redirected</a>.</body></html>

показать ответы
0
Автор поста оценил этот комментарий

Это кэш и ты его не отключил значит.

И почему все прокси должны слететь после установки NPM? Запусти контейнер на нестандартных портах, настрой все прокси, отключи старый nginx и радуйся жизни. Неизвестные кнопки не нажимай и будет счастье.

Делает он не тоже самое, а нормально и качественно, с изрядной долей автоматизации.

раскрыть ветку (1)
0
Автор поста оценил этот комментарий

Это кэш и ты его не отключил значит.

proxy_cache off; прописал в редирект, это и есть отключение, не?

И почему все прокси должны слететь после установки NPM? Запусти контейнер на нестандартных портах, настрой все прокси, отключи старый nginx и радуйся жизни. Неизвестные кнопки не нажимай и будет счастье.


Это я и имел в виду - что пока не перенесешь на новый, работать не будет. А переносить их загребёшься. Поэтому рассматриваю как крайний вариант. Всё же правильнее понять что именно не так с проксированием, а не понадеяться что автоматика может быть сама всё сделает. Правило то прописаны стандартные

показать ответы
1
Автор поста оценил этот комментарий

ТС, поставь nginx proxy manager и радуйся жизни с https и прочим. https://github.com/NginxProxyManager/nginx-proxy-manager


И отключи кэш в текущем конфиге.

раскрыть ветку (1)
0
Автор поста оценил этот комментарий

Кэш отключал, не помогло.
Как вариант буду рассматривать конечно, но слетят ведь остальные прокси, а их там немало
Да и по сути он же делает то же самое, просто через "Красивый и безопасный интерфейс"

показать ответы
0
Автор поста оценил этот комментарий

На этом веб сервере и так связка nginx+apache

проблема может быть и где-то тут. лично я постарался бы не ставить их на один сервак, хотя бы по разным виртуалкам разнести что ли.

в конфигах и логах апача точно всё ок?

раскрыть ветку (1)
0
Автор поста оценил этот комментарий

Тащемта это стандартная практика - nginx+apache+php+mysql

Апач не участвует в этом процессе - в других правилах проксирование заворачивается на него, в этом - на другой сервер, так что в логах апача нет ничего про редмайн.
В логах nginx по этому пункту ошибок нет. Другие есть, но там про доступ к другим адресам.

0
Автор поста оценил этот комментарий

по идее, буферизация таких эффектов давать не должна, но хз, можно попробовать. иногда глюки лезут из самых неожиданных мест. просто из любопытства можно попробовать через апач сделать, но вот тут да, повозиться придётся.

раскрыть ветку (1)
0
Автор поста оценил этот комментарий

На этом веб сервере и так связка nginx+apache. Только другие запросы проксируются на локалхост, в апач, а этот - на другой сервер, с редмайном
Гитлаб, проксирующийся точно так же, работает нормально, а эта зараза глючит

показать ответы
0
Автор поста оценил этот комментарий

Блин, это повозиться надо будет.

одну-то строчку в локальном ДНС отключить? или у вас какая-то вычурная система?

Так что проблема прям наверняка в проксировании

тогда логи наше всё, можно временно врубить максимально подробный лог. можно ковырнуть ещё кэши.

раскрыть ветку (1)
0
Автор поста оценил этот комментарий

Мб ещё буферизацию попробовать отключить, как вариант

показать ответы
0
Автор поста оценил этот комментарий

Блин, это повозиться надо будет.

одну-то строчку в локальном ДНС отключить? или у вас какая-то вычурная система?

Так что проблема прям наверняка в проксировании

тогда логи наше всё, можно временно врубить максимально подробный лог. можно ковырнуть ещё кэши.

раскрыть ветку (1)
0
Автор поста оценил этот комментарий

одну-то строчку в локальном ДНС отключить? или у вас какая-то вычурная система?

Да не, погорячился, всё норм. Если из локали завернуть на прокси, то да, то же самое, глючит

0
Автор поста оценил этот комментарий

а если запросы из локалки завернуть в прокси? вылезет глюк или нет?

раскрыть ветку (1)
0
Автор поста оценил этот комментарий

Блин, это повозиться надо будет.
Но одно могу точно сказать - если снаружи заходить по ip-адресу (пробросив порт на машину с редмайном, без участия веб-сервера) - то тоже всё нормально работает. Так что проблема прям наверняка в проксировании

показать ответы
0
Автор поста оценил этот комментарий

proxy_cache off;

для начала попробуйте в nginx дописать, внутрь location.

раскрыть ветку (1)
0
Автор поста оценил этот комментарий

Добавление и перезапуск nginx не дали результата

показать ответы
1
Автор поста оценил этот комментарий

выше сказано верно. я бы ещё перевёл на https. браузеры на хромиум последних версий иногда неадекватно реагируют на http, и затык может быть где-то там.

раскрыть ветку (1)
0
Автор поста оценил этот комментарий

В локали оно тоже на http, но глюк не проявляется

показать ответы

Темы

Политика

Теги

Популярные авторы

Сообщества

18+

Теги

Популярные авторы

Сообщества

Игры

Теги

Популярные авторы

Сообщества

Юмор

Теги

Популярные авторы

Сообщества

Отношения

Теги

Популярные авторы

Сообщества

Здоровье

Теги

Популярные авторы

Сообщества

Путешествия

Теги

Популярные авторы

Сообщества

Спорт

Теги

Популярные авторы

Сообщества

Хобби

Теги

Популярные авторы

Сообщества

Сервис

Теги

Популярные авторы

Сообщества

Природа

Теги

Популярные авторы

Сообщества

Бизнес

Теги

Популярные авторы

Сообщества

Транспорт

Теги

Популярные авторы

Сообщества

Общение

Теги

Популярные авторы

Сообщества

Юриспруденция

Теги

Популярные авторы

Сообщества

Наука

Теги

Популярные авторы

Сообщества

IT

Теги

Популярные авторы

Сообщества

Животные

Теги

Популярные авторы

Сообщества

Кино и сериалы

Теги

Популярные авторы

Сообщества

Экономика

Теги

Популярные авторы

Сообщества

Кулинария

Теги

Популярные авторы

Сообщества

История

Теги

Популярные авторы

Сообщества

Недвижимость и ремонт

Теги

Популярные авторы

Сообщества