首先介绍最常用的,将域名转发到本地另一个端口上
域名www.example.com 转发到本地端口36765
这样访问 https://www.example.com 时就会转发到本地的36765端口上
server { listen 443 ssl http2; server_name www.example.com; location / { proxy_redirect off; # 下面的 目标服务器及 <端口号> proxy_pass http://127.0.0.1:36765; proxy_http_version 1.1; proxy_read_timeout 360s; proxy_set_header Host $host:$server_port; proxy_set_header X-Real-IP $remote_addr; proxy_set_header REMOTE-HOST $remote_addr; proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for; } }
支持WebSocket的端口转发
server { listen 443 ssl http2; server_name www.example.com; client_max_body_size 1024M; location / { proxy_redirect off; # 下面的 目标服务器及 <端口号> proxy_pass http://127.0.0.1:36765; proxy_http_version 1.1; proxy_read_timeout 360s; # Upgrade 和 Connection 都是必须的 # 这将告诉 Nginx 以 WebSocket 的形式对待入站连接 proxy_set_header Upgrade $http_upgrade; proxy_set_header Connection "upgrade"; proxy_set_header Host $host:$server_port; proxy_set_header X-Real-IP $remote_addr; proxy_set_header REMOTE-HOST $remote_addr; proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for; } }
将域名转发到另外一个域名
server{ listen 80; server_name www.a.com; index index.php index.html index.htm; location / { proxy_pass http://www.b.com; proxy_set_header Host $proxy_host; proxy_set_header X-Real-IP $remote_addr; proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for; } }
这样访问 http://www.a.com 时就会转发到 http://www.b.com