Two options: a reverse proxy or you serve both from the same system.
For reverse proxy you can go the old and trusted route with e.g. Nginx, go fully managed with something like external rewrites on Vercel, or even hack together your own thing with edge workers.
For all from one system, whatever you're using for your backend, be it React (with Next.js) or Ruby on Rails, can probably also serve any kind of static content, but it might not be worth intermingling that based on your situation.
For reverse proxy you can go the old and trusted route with e.g. Nginx, go fully managed with something like external rewrites on Vercel, or even hack together your own thing with edge workers.
For all from one system, whatever you're using for your backend, be it React (with Next.js) or Ruby on Rails, can probably also serve any kind of static content, but it might not be worth intermingling that based on your situation.