Reverse proxy is actually super easy with nginx. I have an nginx server at the front of my server doing the reverse proxy and an Apache server hosting some of those applications being proxied.
Basically 3 main steps:
-
Setup up the DNS with your hoster for each subdomain.
-
Setup your router to port forward for each port.
-
Setup nginx to do the proxy from each subdomain to each port.
DreamHost let’s me manage all the records I want. I point them to the same IP as my server:
This is my config file:
server {
listen 80;
listen [::]:80;
server_name photos.my_website_domain.net;
location / {
proxy_pass http://127.0.0.1:2342;
include proxy_params;
}
}
server {
listen 80;
listen [::]:80;
server_name media.my_website_domain.net;
location / {
proxy_pass http://127.0.0.1:8096;
include proxy_params;
}
}
And then I have dockers running on those ports.
root@website:~$ sudo docker ps
CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES
e18157d11eda photoprism/photoprism:latest "/scripts/entrypoint…" 4 weeks ago Up 4 weeks 0.0.0.0:2342->2342/tcp, :::2342->2342/tcp, 2442-2443/tcp photoprism-photoprism-1
b44e8a6fbc01 mariadb:11 "docker-entrypoint.s…" 4 weeks ago Up 4 weeks 3306/tcp photoprism-mariadb-1
So if you go to photos.my_website_domain.net that will navigate the user to my_website_domain.net first. My nginx server will kick in and see you want the ‘photos’ path, and reroute you to basically http://my_website_domain.net:2342. My PhotoPrism server. So you could do http://my_website_domain.net:2342 or http://photos.my_website_domain.net. Either one works. The reverse proxy does the shortcut.
Hope that helps!
Are you saying he hired the police?