nginx 代理 websocket 出现 404 错误

2019-11-04 10:32:55 +08:00
 Achilless

部署的是 django,uwsgi。websocket 用的 channels 其他功能正常,只有 websocket 报 404 错误,

具体配置文件和代码我放在了博客: https://www.ksprd.top/blog/46/

有没有趟过坑的大佬~

3311 次点击
所在节点    NGINX
5 条回复
lazyfighter
2019-11-04 11:28:10 +08:00
问问题贴个博客是什么鬼啊,404 找不到呗
Achilless
2019-11-04 11:33:45 +08:00
@lazyfighter 放代码呗,所以问题就是为啥 404 呗
anthoy
2019-11-04 13:29:30 +08:00
我使用是用 uwsgi 启动 django,daphne 启动 django-channel,两个使用不同的端口,nginx 反向代理 /和 /ssh,正常使用
你这里的可能是这个:
```bash
location /ssh {
uwsgi_pass 127.0.0.1:8080;
include /opt/clic_env/plat/uwsgi_params;
```
你确定你的 uwsgi 同时启动了 django 和 django-channels ?你可以使用尝试不使用 uwsgi_pass 转发 websocket 或者不用 nginx,直接调试下 uwsgi
37Y37
2019-11-04 13:33:19 +08:00
nginx 缺少了这个配置

```shell
map $http_upgrade $connection_upgrade {
default upgrade;
'' close;
}
```

另外看你写的 webssh,推荐一下: https://ops-coffee.cn/s/a3eJjVTtuUjzwyk21nTBqQ
Achilless
2019-11-04 14:44:08 +08:00
@anthoy 感谢,才知道原来还要单独起一个 websocket 进程。。所以那就是 django 默认的服务器是两个都打开的。。

这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。

https://www.v2ex.com/t/615978

V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。

V2EX is a community of developers, designers and creative people.

© 2021 V2EX