QuickGuide: NGINX Reverse Proxy with HTTPS
-
- 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. - Install Nginx