首页   注册   登录
V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
NGINX
NGINX Trac
3rd Party Modules
Security Advisories
CHANGES
OpenResty
ngx_lua
Tengine
在线学习资源
NGINX 开发从入门到精通
NGINX Modules
ngx_echo
Coding
V2EX  ›  NGINX

nginx 代理 websocket 出现 404 错误

  •  
  •   Achilless · 38 天前 · 1074 次点击
    这是一个创建于 38 天前的主题,其中的信息可能已经有所发展或是发生改变。

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

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

    有没有趟过坑的大佬~

    5 回复  |  直到 2019-11-04 14:44:08 +08:00
        1
    lazyfighter   38 天前
    问问题贴个博客是什么鬼啊,404 找不到呗
        2
    Achilless   38 天前
    @lazyfighter 放代码呗,所以问题就是为啥 404 呗
        3
    anthoy   38 天前
    我使用是用 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
        4
    37Y37   38 天前
    nginx 缺少了这个配置

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

    另外看你写的 webssh,推荐一下: https://ops-coffee.cn/s/a3eJjVTtuUjzwyk21nTBqQ
        5
    Achilless   38 天前
    @anthoy 感谢,才知道原来还要单独起一个 websocket 进程。。所以那就是 django 默认的服务器是两个都打开的。。
    关于   ·   FAQ   ·   API   ·   我们的愿景   ·   广告投放   ·   感谢   ·   实用小工具   ·   1810 人在线   最高记录 5043   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.3 · 28ms · UTC 00:09 · PVG 08:09 · LAX 16:09 · JFK 19:09
    ♥ Do have faith in what you're doing.