nginx
,
Syntax
proxy_pass http://backend;
Parameters
| Parameters | Description | Examples | Level |
|---|---|---|---|
proxy_pass |
proxy_pass http://localhost:3000; |
Common | |
proxy_set_header |
proxy_set_header Host $host; |
Common | |
proxy_connect_timeout |
proxy_connect_timeout 60s; |
Common | |
proxy_read_timeout |
proxy_read_timeout 90s; |
Common | |
proxy_buffering |
proxy_buffering off; |
Advanced |
Examples
server {
listen 80;
server_name api.example.com;
location / {
proxy_pass http://localhost:3000;
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://localhost:8080;
proxy_http_version 1.1;
proxy_set_header Upgrade $http_upgrade;
proxy_set_header Connection "upgrade";
}WebSocket Upgrade
upstream backend {
server 127.0.0.1:3001;
server 127.0.0.1:3002;
server 127.0.0.1:3003;
}
server {
location / {
proxy_pass http://backend;
}
}location /api/v1/ {
proxy_pass http://localhost:3000/;
}proxy_pass /, location
Common Errors
502 Bad Gateway, proxy_pass and
504 Gateway Timeout, proxy_read_timeout
Tips
- X-Real-IP and X-Forwarded-For, IP
- proxy_pass / location, /
- WebSocket Upgrade and Connection