snippetnginxModeratepending
Nginx reverse proxy -- common configuration patterns
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.