У нас есть одностраничное приложение (созданное с помощью create-реагировать-приложение), которое использует React в браузере и сервер nodejs / express на серверной части. Приложение позволяет пользователям регистрироваться, входить в систему и выполнять различные функции. После регистрации пользователя с адресом электронной почты приложение React (через наш внутренний сервер) отправляет электронное письмо пользователю со ссылкой для проверки электронной почты. Пользователь нажимает на ссылку (например, example.com/accountVerification/:id), которая открывается в браузере. После открытия приложения React затем проверяет адрес электронной почты на внутреннем сервере, и пользователю теперь разрешено входить в систему.
Все это работает без проблем при запуске приложения React с использованием сборки разработки, то есть с использованием '* 1009. * start '.
Однако в производственной среде мы развертываем производственную сборку, сгенерированную с помощью' npm run build '. Мы обслуживаем приложение, используя nginx. В этой среде nginx был настроен для обслуживания файла индекса. html, который был создан в процессе сборки. Опять же, все работает хорошо, за исключением случаев, когда используется ссылка для проверки электронной почты, которая дает 404. Кажется, что любая конечная страница после «/» в URL не работает и приводит к 404.
Так что вопрос, как должны работать ссылки для проверки электронной почты при использовании рабочей сборки приложения React? Или, в общем, почему браузер refre sh fail (404) при запуске производственной сборки приложения React?