Хостингер, node.js, или экспресс-проблема, маршруты больше не работают (кроме домашней страницы / )

#node.js #express #routes

#node.js #экспресс #маршруты

Вопрос:

Во-первых, я хотел бы поблагодарить вас и всех, кто является частью этого сообщества, после многих лет скитаний я, наконец, задал свой первый вопрос, надеюсь, скоро я тоже смогу дать ответы! 🙂

Итак, подводя итог проблеме, я получаю 404 на своих маршрутах (кроме домашней страницы), конфигурация-приложение ubuntu20/nginx/nodejs/express, размещенное на VPS Hostinger, я пытался связаться с их поддержкой, но они ничего не знают и направили меня сюда, не такая уж плохая идея, как я думал!

Что здесь странного:

  • Это работало отлично (лол)
  • На локальном хосте работает
  • Полагая, что это было одно из недавних обновлений, после некоторого времени отладки я подумал: «К черту все это, просто откатитесь к последней резервной копии», которая работала отлично!

Однако, к моему удивлению, рабочая резервная копия больше не работает, я на 100% уверен, что она работала, так как я продолжал работать в течение нескольких дней, что не могло быть сделано без рабочих маршрутов.

Журнал ошибок nginx пуст, в журнале доступа отображается [05/Дек/2021:17:02:30 0000] «СООБЩЕНИЕ /api/поиск HTTP/1.1» 404 194 «https://domain.io/» — это правильный маршрут.

Я уже набираю больше, чем большинство вопросов здесь, пожалуйста, направьте меня, и я предоставлю все возможное.

Также я слышал, что express «мертв», должен ли я просто переключиться на что-то другое в надежде, что это «решит» эту проблему?

Спасибо!

Обновления:

  • попробовал sudo apt-получить обновление, удалил node_modules, переустановил все
  • попытался переименовать маршрут домашней страницы из app.get(«/» в app.get(«/home») и попытался получить доступ domain.io/home и это не сработало! На локальном хостинге это работает нормально
  • перезагрузите сервер, перезагрузите все, как я уже сказал, даже восстановленную рабочую резервную копию, эта проблема вне меня…

Обновление 2:

  • Я попробовал другой файл, установил Fastify и попробовал конфигурацию по умолчанию

    // Требуется фреймворк и создать его экземпляр const fastify = требуется(‘fastify’)({ регистратор: true })

    // Declare a route fastify.get(‘/’, async (request, reply) =gt; { return { hello: ‘world’ } })// Declare a route fastify.get(‘/test’, async (request, reply) =gt; { return { hello: ‘test’ } })

    // Run the server! const start = async () =gt; { try { await fastify.listen(3000) } catch (err) { fastify.log.error(err) process.exit(1) } } start() The homepage route works, but /test doesn’t (even though it works on local) I’m 99.99% sure this is a hosting issue, what do you think?

UPDATE 3: FINALLY GOT IT, someone please explain how this is possible, inside my nginx config, this line was causing it, after removing everything works.

 try_files $uri $uri/ =404;  

Может ли кто-нибудь, пожалуйста, объяснить мне, как мой сервер нормально работал в течение недели с этой «ошибкой» внутри конфигурации? Имейте в виду, что я перезапускал nginx десятки раз, эта «линия» работала! Извините за вентиляцию, но как это возможно?