Reverse proxy from different machine?

does anyone have a working nginx server location {} block for reverse proxy to HA on a different machine?

I’ve messed with this until I can’t see straight and haven’t a clue where to go from here.

thanks, in advance.

edit: wrong word

I have been using a NGINX reverse proxy on a Digital Ocean droplet (VPS) for well over a year.

map $http_upgrade $connection_upgrade {
    default upgrade;
    ''      close;
}

server {
    # Update this line to be your domain
    server_name MYDOMAIN.COM;

    # These shouldn't need to be changed
    listen 80;
    return 301 https://$host$request_uri;
}

server {
    # Update this line to be your domain
    server_name MYDOMAIN.COM;

    # Ensure these lines point to your SSL certificate and key
    ssl_certificate /etc/letsencrypt/live/MYDOMAIN.COM/fullchain.pem;
    ssl_certificate_key /etc/letsencrypt/live/MYDOMAIN.COM/privkey.pem;
    # Use these lines instead if you created a self-signed certificate
    # ssl_certificate /etc/nginx/ssl/cert.pem;
    # ssl_certificate_key /etc/nginx/ssl/key.pem;

    # Ensure this line points to your dhparams file
    ssl_dhparam /etc/nginx/ssl/dhparams.pem;


    # These shouldn't need to be changed
    listen 443 http2; # if your nginx version is >= 1.9.5 you can also add the "http2" flag here
    #listen 80 http2;
    add_header Strict-Transport-Security "max-age=31536000; includeSubdomains";
    ssl on;
    ssl_protocols TLSv1 TLSv1.1 TLSv1.2;
    ssl_ciphers "EECDH+AESGCM:EDH+AESGCM:AES256+EECDH:AES256+EDH:!aNULL:!eNULL:!EXPORT:!DES:!MD5:!PSK:!RC4";
    ssl_prefer_server_ciphers on;
    ssl_session_cache shared:SSL:10m;
    access_log /var/log/nginx/hass.access.log;
    error_log /var/log/nginx/hass.error.log;

    proxy_buffering off;

    location / {
        proxy_pass http://DYNDOMAIN:8123;
        proxy_set_header Host $host;
        proxy_redirect http:// https://;
        proxy_http_version 1.1;
        proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
        proxy_set_header Upgrade $http_upgrade;
        proxy_set_header Connection $connection_upgrade;
    }
}

I then have a firewall rule that only allows traffic from my VPS on that port. I have been lazy, and have meant to set up an SSH tunnel instead, but meh.

Will this work with a sub directory like mydomain/dir?

I have the same thing but all I can get to show is the top color banner of the frontend. Nothing else will load.

No. Home Assistant will not work as a subdirectory

Well that’s what I needed to know.