Exposing and Accessing multiple local docker jupyterhub from the same subdomain

Hi all! I am an ML Researcher. I am remotely teaching students the basics of ML. In the lab, I am using a docker container that runs jupyterhub, and I ask the students to run it. the container exposes the jupyter as a web server locally on the students’ machines.

To make it easier to assist them, I would like to create some sort of tunneling to dynamically add each student that runs the docker container to our lab subdomain, for example: lab.university.ca/ studentA , lab.university.ca/ studentB , etc.

I did some research and found jupyterhub/configurable-http-proxy and
some tools like ngrok, localtunnel, and nginx , however, I am not an expert in web dev and servers. Can I use one of them to achieve what I need? which one to use? or there are other ways?

You might be interested in using the setting that an admin can login as a different user?