我制作了一个小 nginx conf 以将流量重定向到daphne
服务器(用于服务器django
)侦听的 unix 套接字。
根据文档:
如果您对所有流量使用 Daphne,它会在 HTTP 和 WebSocket 之间自动协商,因此无需将 WebSockets 放在单独的端口或路径上
所以我想将 websockets 和 Http 流量代理到同一个 unix 套接字。
可能吗?
我该怎么办?
这是我迄今为止尝试过的:
upstream django_ws {
server unix:///path/to/ws.sock;
}
server {
listen 8082;
server_name 127.0.0.1;
charset utf-8;
root /path/to/root;
set $myroot $document_root;
location / {
proxy_pass http://django_ws;
#proxy_http_version 1.1;
#proxy_set_header Upgrade websocket;
#proxy_set_header Connection upgrade;
}
}
如果我取消注释 location bloc 中的行,页面将显示为空白。
如果我不这样做,页面会出现,但 websockets 似乎不起作用。
我怎么能解决这个问题?
开发服务器一切正常。