Nginx reverse proxy pa din VPS: koer flere tjenester pa en server

Med en Nginx reverse proxy kan du koere flere webapplikationer pa en VPS og naa dem via forskellige domeanenavne.

Hvad er en reverse proxy?

En reverse proxy modtager alle indgaende forbindelser og videresender dem til den rigtige backend baseret pa domenet. Det lader dig koere f.eks. WordPress pa port 8080 og en Node.js app pa port 3000, men begge er tilgaengelige pa port 80/443.

Installation

sudo apt install nginx -y
sudo systemctl enable nginx

Konfiguration

Opret en fil for hvert domeane i /etc/nginx/sites-available/:

server {
    listen 80;
    server_name app1.ditdomaene.dk;

    location / {
        proxy_pass http://127.0.0.1:3000;
        proxy_set_header Host $host;
        proxy_set_header X-Real-IP $remote_addr;
    }
}

Aktiver konfigurationen

sudo ln -s /etc/nginx/sites-available/app1 /etc/nginx/sites-enabled/
sudo nginx -t
sudo systemctl reload nginx

SSL med Let's Encrypt

Tilfoej SSL til din reverse proxy:

sudo certbot --nginx -d app1.ditdomaene.dk

Certbot konfigurerer automatisk SSL og videresendelse fra HTTP til HTTPS.

WebSocket support

For applikationer med WebSocket (chat, real-time) tilfoej:

proxy_http_version 1.1;
proxy_set_header Upgrade $http_upgrade;
proxy_set_header Connection "upgrade";

Har du stadig spørgsmål? Opret en supportticket, så hjælper vores team dig.

Tilbage til bloggen