О настройке, или когда ничего не помогает


Иногда приходится много времени тратить на настройку какого-нибудь сервиса, например — вебсервера или связки из разных веб-серверов (Apache + Node.js, например). И иногда это может затянуться — вроде и настройки все правильно указаны, и сервисы перезапущены, но всё равно система ведёт себя странно и как-то не так.

Сегодня был именно такой случай — настраивал работу Мадженты с фронтендом на Реакте с серверным рендерингом на одной веб-ноде. Суть была в том, что входящие запросы обслуживает Apache, но если они приходят на определённый домен — то он уже выступает в роли прокси, и передаёт всё в PM2. А PM2 уже в свою очередь дёргает API на том же хосте, собирает всё это в одну страницу и отдаёт в браузер в виде HTML.

И вот, если делать запросы по отдельности к части, отдаваемой маджентовским API напрямую — всё работает. Если открывать страничку, которая должна «отрендериться» на сервере из частей, полученных из этих же API через запросы между PM2 и Апачем — нихера не работает, выдаётся сообщение о том, что не получилось сделать запрос через прокси. В логах Апача — 504-е ошибки.

Перепроверяю конфиги — всё нормально, должно работать. Перезапускаю PM2 — перезапустился, но ничего не поменялось, всё та же ошибка. Ради интереса пробую вручную прибить его процессы несколько раз, и о чудо — было два процесса, и именно из-за этого я видел 504-ю ошибку.

После того, как полностью остановил PM2 и перезапустил его — всё заработало, как надо.

Вывод: если что-то работает не так, как указано в конфигах — убедитесь, что вы всё действительно перезапустили, и нету зависших процессов.

Сообщение О настройке, или когда ничего не помогает появились сначала на Апач.