• 0 Posts
  • 10 Comments
Joined 1 year ago
cake
Cake day: June 20th, 2023

help-circle


  • 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!








  • A developer is one that just codes. An engineer is one that mocks up their feature, leads meetings to explain what they are going to do and debates with others about the proposed implementation, codes it, tests it thoroughly, then answers any questions about what they made months later and diagnoses issues that QA found. Maybe you’re just a code monkey, but my job is a lot more.