- Install Nginx
On Ubuntu/Debian:
sudo apt update
sudo apt install nginx
- Configure Reverse Proxy
Create a new file:
/etc/nginx/sites-available/uptime
server {
listen 80;
server_name uptime.ricardoweigel.de;
location / {
proxy_pass http://127.0.0.1:3001;
proxy_set_header Host $host;
proxy_set_header X-Real-IP $remote_addr;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
}
}
Enable the config:
sudo ln -s /etc/nginx/sites-available/uptime /etc/nginx/sites-enabled/
sudo nginx -t
sudo systemctl reload nginx
Now, visiting http://uptime.ricardoweigel.de will show your service running on port 3001 without exposing the port.
- Add HTTPS with Let's Encrypt
Use Certbot:
sudo apt install certbot python3-certbot-nginx
sudo certbot --nginx -d uptime.ricardoweigel.de
It will automatically edit your config to redirect HTTP to HTTPS.
Result:
Users go to: https://uptime.ricardoweigel.de
Internally forwarded to: http://127.0.0.1:3001
Clean, professional, and secure.