Want to host multiple websites or web apps on your single home server, all using your one custom domain? Whether it’s running Jellyfin, Nextcloud, or a personal blog—all on the same server or VM—this guide will show you how to do it using reverse proxy setup with Apache or NGINX.

Let’s break it down step-by-step for U.S. home users looking to self-host multiple services securely and professionally.
🧠 What Is a Reverse Proxy?
A reverse proxy is a server that receives requests on behalf of another server. It forwards the request to the appropriate backend service based on the URL path or subdomain.
For example:
https://yourdomain.com→ your main website (Apache/WordPress)https://yourdomain.com/jellyfin→ your Jellyfin media serverhttps://yourdomain.com/nextcloud→ your private cloud
This keeps all services neat and accessible under one domain—without needing multiple IPs or ports.
🧰 What You’ll Need
- A working domain name (e.g., from IONOS, Namecheap)
- Ubuntu server or VM already configured
- Apache or NGINX installed
- SSL set up via Let’s Encrypt / Certbot
- Multiple services (Jellyfin, Nextcloud, etc.) installed on different ports (e.g., 8096, 9000)
🌐 Method 1: Apache Reverse Proxy (Recommended for Simpler Setups)
✅ Step 1: Enable Apache Proxy Modules
sudo a2enmod proxy
sudo a2enmod proxy_http
sudo a2enmod proxy_balancer
sudo a2enmod rewrite
sudo systemctl restart apache2
✅ Step 2: Create a Virtual Host Config
Let’s assume:
- Jellyfin runs at
localhost:8096 - Nextcloud runs at
localhost:9000
sudo nano /etc/apache2/sites-available/000-default.conf
Inside the <VirtualHost *:80> or SSL-enabled block (<VirtualHost *:443>), add:
ProxyPreserveHost On
# Main site
ServerName yourdomain.com
# Jellyfin reverse proxy
ProxyPass "/jellyfin" "http://localhost:8096"
ProxyPassReverse "/jellyfin" "http://localhost:8096"
# Nextcloud reverse proxy
ProxyPass "/nextcloud" "http://localhost:9000"
ProxyPassReverse "/nextcloud" "http://localhost:9000"
✅ Step 3: Reload Apache
sudo systemctl reload apache2
Now when you visit:
https://yourdomain.com/jellyfin→ Jellyfin interfacehttps://yourdomain.com/nextcloud→ Nextcloud interface
🌐 Method 2: NGINX Reverse Proxy (More Flexible for Subdomains)
Great for when you want:
https://jellyfin.yourdomain.comhttps://cloud.yourdomain.com
✅ Step 1: Install NGINX
sudo apt install nginx -y
✅ Step 2: Create Server Blocks for Each Subdomain
sudo nano /etc/nginx/sites-available/jellyfin
server {
listen 80;
server_name jellyfin.yourdomain.com;
location / {
proxy_pass http://localhost:8096;
proxy_set_header Host $host;
proxy_set_header X-Real-IP $remote_addr;
}
}
Do the same for cloud.yourdomain.com and other apps.
✅ Step 3: Enable Site & Restart NGINX
sudo ln -s /etc/nginx/sites-available/jellyfin /etc/nginx/sites-enabled/
sudo systemctl restart nginx
✅ Step 4: Add DNS Subdomain Records
Go to your domain DNS settings:
- Add
A recordfor:jellyfin.yourdomain.com→ your public IPcloud.yourdomain.com→ same public IP
🔐 Optional: Add SSL for All Subdomains
Install Certbot for NGINX:
sudo apt install certbot python3-certbot-nginx -y
Then:
sudo certbot --nginx
Certbot will automatically configure SSL for all configured domains/subdomains.
🙋 FAQ: Hosting Multiple Services on One Domain
Q: Do I need multiple public IPs for this?
No, one public IP is enough. Reverse proxy handles all the routing internally.
Q: What if I want to host with ports (e.g., :8080)?
Using ports externally is not ideal. Reverse proxies allow everything on port 80/443 (HTTP/HTTPS).
Q: Should I use path-based or subdomain-based routing?
Use subdomains if:
- Each app is large or needs separate configs
Use paths if: - You want to keep everything under one domain (simpler DNS)
Q: Can I use Docker containers behind a reverse proxy?
Absolutely! Just make sure each container maps to a unique internal port.
Want to setup your own sever : How to Host Your Own Secure Website at Home in 2025 – Complete Step-by-Step Guide
📦 Tech I Use for Self-Hosting (Affiliate Links)
- 🖥️ TP-Link PoE Switch
- 🌐 MikroTik hEX Router
- 📦 Raspberry Pi 5 Kit
- 🔌 Linksys 16-Port Switch
- 📡 Ubiquiti WiFi 6 AP
🏷️ Tags
reverse proxy setup, apache reverse proxy, nginx reverse proxy, host multiple apps on one domain, jellyfin nginx, self-hosted homelab, domain with multiple services, ssl multiple subdomains, homelab apache config
📣 Hashtags
#SelfHosted #ReverseProxy #NGINX #Apache #HomeLab #Jellyfin #Nextcloud #MultiAppHosting #DomainRouting #HomelabUSA