this post was submitted on 22 Sep 2025
18 points (100.0% liked)

Selfhosted

51947 readers
1488 users here now

A place to share alternatives to popular online services that can be self-hosted without giving up privacy or locking you into a service you don't control.

Rules:

  1. Be civil: we're here to support and learn from one another. Insults won't be tolerated. Flame wars are frowned upon.

  2. No spam posting.

  3. Posts have to be centered around self-hosting. There are other communities for discussing hardware or home computing. If it's not obvious why your post topic revolves around selfhosting, please include details to make it clear.

  4. Don't duplicate the full text of your blog or github here. Just post the link for folks to click.

  5. Submission headline should match the article title (don’t cherry-pick information from the title to fit your agenda).

  6. No trolling.

Resources:

Any issues on the community? Report it using the report flag.

Questions? DM the mods!

founded 2 years ago
MODERATORS
 

i'm trying to setup nginx to run as a proxy to aggregate multiple services. running on different ports on the server, using nginx to let me connect to all the services by going to a specific subdirectory. so i can keep only one port open in the router between my lab and the main house network.

i'm using the following config file from an example i found to do this, with a landing page to let me get to the other services:

used config file


server { listen 80; server_name 10.0.0.114; # Replace with your domain or IP

# Redirect HTTP to HTTPS
return 301 https://$host$request_uri;

}

server { listen 1403 ssl; # Listen on port 443 for HTTPS server_name 10.0.0.114; # Replace with your domain or IP

ssl_certificate /certs/cert.pem;  # Path to your SSL certificate
ssl_certificate_key /certs/key.pem;  # Path to your SSL certificate key

location / {
    root /var/www/html;  # Path to the directory containing your HTML file
    index index.html;  # Default file to serve
}


location /transbt {
#configuration for transmission
    proxy_pass http://10.89.0.3:9091/;  
proxy_set_header Host $host;
    proxy_set_header X-Real-IP $remote_addr;
    proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
    proxy_set_header X-Forwarded-Proto $scheme;$proxy_add_x_forwarded_for;
}

but the problem i'm having is that, while nginx does redirect to transmission's login prompt just fine, after logging in it tries to redirect me to 10.0.0.114:1403/transmission/web instead of remaining in 10.0.0.114:1403/transbt and breaks the page. i've found a configuration file that should work, but it manually redirects each subdirectory transmission tries to use, and adds proxy_pass_header X-Transmission-Session-Id; which i'm not sure what's accomplishing: github gist

is there a way to do it without needing to declare it explicitly for each subdirectory? especially since i need to setup other services, and i doubt i'll find config files for those as well it's my first time setting up nginx, and i haven't been able to find anything to make it work.

Edit: I forgot to mention. The server is still inside of a nat. It's not reachable by the outside. The SSL certificate is self signed and it's just a piece of mind because a lot of things connect to the home net. And none of the services I plan to use only support http.

you are viewing a single comment's thread
view the rest of the comments
[–] brokenlcd@feddit.it 1 points 4 days ago (1 children)

i'm not sure if it's equivalent. but in the meantime i have cobbled up a series of commands from various forums to do the whole process, and i came up with the following openssl commands.

openssl genrsa -out servorootCA.key 4096

openssl req -x509 -new -nodes -key servorootCA.key -sha256 -days 3650 -out servorootCA.pem

openssl genrsa -out star.servo.internal.key 4096

openssl req -new -key star.servo.internal.key -out star.servo.internal.csr

openssl x509 -req -in star.servo.internal.csr -CA servorootCA.pem -CAkey servorootCA.key -CAcreateserial -out star.servo.internal.crt -days 3650 -sha256 -extfile openssl.cnf -extensions v3_req

with only the crt and key files on the server, while the rest is on a usb stick for keeping them out of the way.

hopefully it's the same. though i'll still go through the book out of curiosity... and come to think of it. i do also need to setup calibre :-).

thanks for everything. i'll have to update the post with the full solution after i'm done, since it turned out to be a lot more messy than anticipated...

[–] N0x0n@lemmy.ml 2 points 4 days ago

This is indeed similar ! And looks like a working certificate :) (You even use as .csr file).

The book adds something (Not very useful but kinda neat to have): a certificate revocation setup and an IntermediateCA signed by your rootCA. So you can keep your rootCA out of your system :)