You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

在Nginx服务器用Waitress部署Dash应用遇404错误求助

排查Dash + Waitress + Nginx部署静态资源404/加载失败问题
  • 检查Dash静态资源路径配置
    Dash默认依赖assets目录存放静态资源,部署时要确保Waitress能正确访问该目录:

    • 启动Waitress时,要么确保工作目录是Dash应用的根目录,要么通过--static-url参数显式绑定静态资源路径:
      waitress-serve --listen=127.0.0.1:8080 --static-url='/assets'='./assets' app:server
      
    • 初始化Dash应用时,显式指定assets_folder参数,避免路径识别错误:
      app = dash.Dash(__name__, assets_folder='./assets')
      
  • 核对Nginx反向代理规则
    Nginx的配置错误是这类问题的高发原因,重点检查以下几点:

    • 添加静态资源专属的转发规则,防止Nginx拦截Dash的静态资源请求:
      location /assets/ {
          proxy_pass http://127.0.0.1:8080;
          proxy_set_header Host $host;
          proxy_set_header X-Real-IP $remote_addr;
      }
      
    • 主代理块必须包含WebSocket支持(Dash依赖WebSocket实现实时更新,缺失会导致一直显示Loading):
      location / {
          proxy_pass http://127.0.0.1:8080;
          proxy_set_header Host $host;
          proxy_set_header X-Real-IP $remote_addr;
          # WebSocket 支持配置
          proxy_http_version 1.1;
          proxy_set_header Upgrade $http_upgrade;
          proxy_set_header Connection "upgrade";
      }
      
    • 检查SSL配置下的rewrite或redirect规则,确认没有意外修改/assets路径的请求。
  • 验证静态资源的可访问性
    通过命令行直接验证请求链路:

    • 先在服务器本地请求Waitress端口的静态资源,确认Waitress能正确返回:
      curl http://127.0.0.1:8080/assets/favicon.ico
      
      如果返回404,说明Waitress未找到资源,回到第一步确认路径配置。
    • 再通过域名请求静态资源,确认Nginx转发正常:
      curl https://your-domain.com/assets/favicon.ico
      
      如果返回404,说明Nginx规则未正确转发,检查location配置。
  • 检查子路径部署的适配配置
    如果Dash应用部署在域名的子路径下(比如https://your-domain.com/dash-app/):

    • 初始化Dash时必须设置requests_pathname_prefix参数:
      app = dash.Dash(__name__, requests_pathname_prefix='/dash-app/')
      
    • 同步调整Nginx的location块为对应子路径,确保请求正确转发。
    • 打开浏览器控制台的网络面板,查看静态资源的请求URL是否符合预期,避免出现路径前缀缺失或冗余的情况。
  • 确认文件权限
    确保服务器上assets目录及内部文件的权限允许Waitress进程读取:

    chmod -R 755 ./assets
    

    同时检查文件的所属用户/组是否与Waitress运行的用户一致,避免权限拒绝导致的404。

内容的提问来源于stack exchange,提问作者gothicVI

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.14 19:35:36