【发布时间】:2017-02-04 11:49:25
【问题描述】:
我做了一个小的 nginx 配置来将流量重定向到一个由 daphne 服务器(用于 django 的服务器)监听的 unix 套接字。
如果您对所有流量使用 Daphne,它会在 HTTP 和 WebSocket,因此无需将 WebSocket 放在单独的 端口或路径
所以我想将 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 中的行,页面将显示为空白。
如果我不这样做,页面会出现,但 websocket 似乎不起作用。
我该如何解决这个问题?
开发服务器一切正常。
【问题讨论】:
标签: django nginx proxy websocket daphne