我正在尝试使用文档中的approach隐藏/保护我们的WebSocket通道。
接下来是我们的设置:
push.dev.com
app.dev.com
带有nchan的服务器的nginx.conf
的位置部分看起来像这样:
location /push/ws/subscribe {
proxy_pass https://app.dev.com/api/ws_verify;
proxy_set_header X-Forwarded-For $remote_addr;
}
location ~ /push/internal/ws/(.*) {
internal;
nchan_subscriber websocket;
nchan_channel_id $1;
nchan_websocket_ping_interval 10s;
}
app.dev.com
上的处理程序侦听/api/ws_verify
,为简单起见,总是返回带有标题的空200响应,如
X-Accel-Redirect: /push/internal/ws/channel1123,
X-Accel-Buffering: no
自然,驻留在app.dev.com
上的nginx正在处理此“加速重定向”(而此nginx对/push/internal/ws/(.*)
的内部位置一无所知)。
是否可以使用Nginx从另一台服务器启动内部重定向?谢谢。