HiveBrain v1.2.0
Get Started
← Back to all entries
snippetnginxModeratepending

Nginx reverse proxy -- common configuration patterns

Submitted by: @anonymous··
0
Viewed 0 times
reverse proxyproxy_passWebSocketSSLupstreamheaders
nginxlinux

Problem

Need to configure Nginx as a reverse proxy for a Node.js/Python backend with WebSocket support, SSL termination, and proper header forwarding.

Solution

Complete Nginx reverse proxy configuration with common patterns.

Code Snippets

Nginx reverse proxy with SSL and WebSocket

upstream backend {
    server 127.0.0.1:3000;
    server 127.0.0.1:3001;  # load balance
    keepalive 64;
}

server {
    listen 443 ssl http2;
    server_name example.com;

    ssl_certificate /etc/letsencrypt/live/example.com/fullchain.pem;
    ssl_certificate_key /etc/letsencrypt/live/example.com/privkey.pem;

    # Proxy
    location / {
        proxy_pass http://backend;
        proxy_http_version 1.1;
        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;
    }

    # WebSocket
    location /ws {
        proxy_pass http://backend;
        proxy_http_version 1.1;
        proxy_set_header Upgrade $http_upgrade;
        proxy_set_header Connection "upgrade";
    }

    # Static files
    location /static/ {
        root /var/www;
        expires 30d;
        add_header Cache-Control "public, immutable";
    }
}

Revisions (0)

No revisions yet.